code: def array_equal(a1, a2, equal_nan=False):
      if not equal_nan:
          return ivy.array(ivy.array_equal(a1, a2))
      a1nan, a2nan = ivy.isnan(a1), ivy.isnan(a2)
  
      if not (a1nan == a2nan).all():
          return False
      return ivy.array(ivy.array_equal(a1 * ~a1nan, a2 * ~a2nan))
  
file_path: ivy/ivy/functional/frontends/numpy/logic/comparison.py
imports: import ivy
  from ivy.functional.frontends.numpy.func_wrapper import to_ivy_arrays_and_back, inputs_to_ivy_arrays, handle_numpy_casting, handle_numpy_dtype, from_zero_dim_arrays_to_scalar, handle_numpy_out
label_desc: Use image node_id 7 for calling a global function with example usage: array_equal(a1, a2, equal_nan) and returns: ivy, ivy, False