code: def verify_arange(start, stop, step):
      if start is None and step is None:
          A = topi.arange(stop)
          a_np = np.arange(stop)
      elif start is None:
          A = topi.arange(stop, step=step)
          a_np = np.arange(stop, step=step)
      elif step is None:
          A = topi.arange(start, stop)
          a_np = np.arange(start, stop)
      else:
          A = topi.arange(start, stop, step)
          a_np = np.arange(start, stop, step)
  
      def check_device(target, dev):
          print("Running on target: %s" % target)
          with tvm.target.Target(target):
              s = tvm.topi.testing.get_injective_schedule(target)(A)
          f = tvm.build(s, [A], target, name="arange")
          a_nd = tvm.nd.empty(a_np.shape, dtype="float32", device=dev)
          f(a_nd)
          tvm.testing.assert_allclose(a_nd.numpy(), a_np)
  
      for target, dev in tvm.testing.enabled_targets():
          check_device(target, dev)
  
imports: import numpy
  import pytest
  import tvm
  from tvm import te
  from tvm import topi
  from tvm import relay
  import tvm.topi.testing
  from tvm.contrib.nvcc import have_fp16
  import tvm.testing
label_desc: Use image node_id 18 for calling a global function with example usage: verify_arange(start, stop, step) without return types