code: def cross(
      x1: Union[ivy.Array, ivy.NativeArray],
      x2: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      axisa: int = -1,
      axisb: int = -1,
      axisc: int = -1,
      axis: Optional[int] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Return cross product of 3-element vectors.
  
      If x1 and x2 are multi- dimensional arrays (i.e., both have a rank greater than 1),
      then the cross- product of each pair of corresponding 3-element vectors is
      independently computed.
  
      Parameters
      ----------
      x1
          first input array. Should have a numeric data type.
      x2
          second input array. Must be compatible with ``x1`` for all
          non-compute axes. The size of the axis over which to compute
          the cross product must be the same size as the respective axis
          in ``x``. Should have a numeric data type.
  
          .. note::
  
              The compute axis (dimension) must not be broadcasted.
      axis
          the axis (dimension) of x1 and x2 containing the vectors for which to compute
          the cross product. Must be an integer on the interval``[-N, N)``, where ``N``
          is the rank (number of dimensions) of the shape. If specified as a
          negative integer, the function must determine the axis along which to
          compute the cross product by counting backward from the last dimension
          (where ``-1`` refers to the last dimension). By default, the function must
          compute the cross product over the last axis. Default: ``-1``.
      out
          optional output array, for writing the result to. It must have a shape that the
          inputs broadcast to.
  
      Returns
      -------
      ret
           an array containing the cross products. The returned array must have a data
           type determined by Type Promotion Rules.
  
  
      This function conforms to the `Array API Standard
      <https://data-apis.org/array-api/latest/>`_. This docstring is an extension of the
      `docstring <https://data-apis.org/array-api/latest/
      extensions/generated/array_api.linalg.cross.html>`_
      in the standard.
  
      Both the description and the type hints above assumes an array input for simplicity,
      but this function is *nestable*, and therefore also accepts :class:`ivy.Container`
      instances in place of any of the arguments.
  
      Examples
      --------
      With :class:`ivy.Array` inputs:
  
      >>> x = ivy.array([1., 0., 0.])
      >>> y = ivy.array([0., 1., 0.])
      >>> z = ivy.cross(x, y)
      >>> print(z)
      ivy.array([0., 0., 1.])
  
      With :class:`ivy.Container` inputs:
  
      >>> x = ivy.Container(a=ivy.array([5., 0., 0.]),
      ...                   b=ivy.array([0., 0., 2.]))
      >>> y = ivy.Container(a=ivy.array([0., 7., 0.]),
      ...                   b=ivy.array([3., 0., 0.]))
      >>> z = ivy.cross(x,y)
      >>> print(z)
      {
          a: ivy.array([0., 0., 35.]),
          b: ivy.array([0., 6., 0.])
      }
  
      With a combination of :class:`ivy.Array` and :class:`ivy.Container` inputs:
  
      >>> x = ivy.array([9., 0., 3.])
      >>> y = ivy.Container(a=ivy.array([1., 1., 0.]),
      ...                   b=ivy.array([1., 0., 1.]))
      >>> z = ivy.cross(x,y)
      >>> print(z)
      {
          a: ivy.array([-3., 3., 9.]),
          b: ivy.array([0., -6., 0.])
      }
      """
      return current_backend(x1).cross(
          x1,
          x2,
          axisa=axisa,
          axisb=axisb,
          axisc=axisc,
          axis=axis,
          out=out,
      )
  
imports: from typing import Union, Optional, Tuple, Literal, List, Sequence
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import handle_array_function, to_native_arrays_and_back, handle_out_argument, handle_nestable, handle_array_like_without_promotion, handle_device, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 2 for calling a global function with example usage: cross() and returns: current_backend