code: def test_arcsin():
      def arcsin(x):
          return nd.arcsin(x)
  
      def grad_grad_op(x):
          return x / nd.sqrt((1 - x**2) ** 3)
  
      for dim in range(1, 5):
          shape = rand_shape_nd(dim)
          # Domain of arcsin is [-1, 1]
          array = random_uniform_arrays(shape, low=-0.99, high=0.99)[0]
          check_second_order_unary(array, arcsin, grad_grad_op)
  
imports: import math
  import random
  from functools import reduce
  from operator import mul
  import random
  from common import xfail_when_nonstandard_decimal_separator
  import mxnet
  from mxnet import nd, autograd, gluon
  from mxnet.test_utils import assert_almost_equal, random_arrays, random_uniform_arrays, rand_shape_nd, same
label_desc: Use image node_id 7 for calling a global function with example usage: test_arcsin() and returns: nd, unknown