code: def rollaxis(a, axis, start=0):
      n = len(ivy.shape(a))
      if axis < -n or axis >= n:
          raise ValueError(
              f"axis {axis} is out of bounds for array of {n} dimensions"
          )
      if axis < 0:
          axis += n
      if start < 0:
          start += n
      msg = "'%s' arg requires %d <= %s < %d, but %d was passed in"
      if not (0 <= start < n + 1):
          raise ValueError(msg % ("start", -n, "start", n + 1, start))
      if axis < start:
          start -= 1
      end = start + axis
      axes = tuple(i for i in range(n) if i != axis)
      axes = axes[:start] + (axis,) + axes[start:end] + axes[end:]
      return ivy.permute_dims(a, axes, out=None)
  
imports: import ivy
  from ivy.functional.frontends.numpy.func_wrapper import to_ivy_arrays_and_back
label_desc: Use image node_id 1 for calling a global function with example usage: rollaxis(a, axis, start) and returns: ivy