code: def arange(start, stop=None, step=1) -> NDArrayNumericExpression:
      """Returns a 1-dimensions ndarray of integers from `start` to `stop` by `step`.
  
      Examples
      --------
  
      >>> hl.eval(hl.nd.arange(10))
      array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)
  
      >>> hl.eval(hl.nd.arange(3, 10))
      array([3, 4, 5, 6, 7, 8, 9], dtype=int32)
  
      >>> hl.eval(hl.nd.arange(0, 10, step=3))
      array([0, 3, 6, 9], dtype=int32)
  
      Notes
      -----
      The range includes `start`, but excludes `stop`.
  
      If provided exactly one argument, the argument is interpreted as `stop` and
      `start` is set to zero. This matches the behavior of Python's ``range``.
  
      Parameters
      ----------
      start : int or :class:`.Expression` of type :py:data:`.tint32`
          Start of range.
      stop : int or :class:`.Expression` of type :py:data:`.tint32`
          End of range.
      step : int or :class:`.Expression` of type :py:data:`.tint32`
          Step of range.
  
      Returns
      -------
      :class:`.NDArrayNumericExpression`
          A 1-dimensional ndarray from `start` to `stop` by `step`.
      """
      return _ndarray(hl.range(start, stop, step))
  
imports: from functools import reduce
  import hail
  from hail.expr.functions import _ndarray
  from hail.expr.functions import array
  from hail.expr.types import HailType, tfloat64, tfloat32, ttuple, tndarray
  from hail.typecheck import typecheck, nullable, oneof, tupleof, sequenceof
  from hail.expr.expressions import expr_int32, expr_int64, expr_tuple, expr_any, expr_array, expr_ndarray, expr_numeric, Int64Expression, cast_expr, construct_expr, expr_bool, unify_all
  from hail.expr.expressions.typed_expressions import NDArrayNumericExpression
  from hail.ir import NDArrayQR, NDArrayInv, NDArrayConcat, NDArraySVD, NDArrayEigh, Apply
label_desc: Use image node_id 3 for calling a global function with example usage: arange(start, stop, step) and returns: _ndarray