code: def copysign(x1: ArrayLike, x2: ArrayLike, /) -> Array:
      x1, x2 = promote_args_inexact("copysign", x1, x2)
      if dtypes.issubdtype(dtypes.dtype(x1), np.complexfloating):
          raise TypeError(
              "copysign does not support complex-valued inputs"
          )
      return _where(signbit(x2).astype(bool), -lax.abs(x1), lax.abs(x1))
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  from textwrap import dedent
  from typing import Any, Callable, overload
  import numpy
  from jax._src import core
  from jax._src import dtypes
  from jax._src.api import jit
  from jax._src.custom_derivatives import custom_jvp
  from jax._src.lax import lax
  from jax._src.typing import Array, ArrayLike
  from jax._src.numpy.util import check_arraylike, promote_args, promote_args_inexact, promote_args_numeric, promote_dtypes_inexact, promote_dtypes_numeric, promote_shapes, _where, _wraps, check_no_float0s
label_desc: Use image node_id 18 for calling a global function with example usage: copysign() and returns: _where