code: def _celu_jax_like(
      x: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      fn_original: Optional[Callable] = None,
      alpha: float = 1.0,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      # implementation of max(0, x) for complex numbers
      complex_max = ivy.where(
          (
              ivy.logical_or(
                  ivy.real(x) < 0,
                  ivy.logical_and(ivy.real(x) == 0, ivy.imag(x) < 0),
              )
          ),
          ivy.astype(0.0, x.dtype),
          x,
      )
  
      # implementation of min(0, x) for complex numbers
      complex_min = ivy.where(
          (
              ivy.logical_or(
                  ivy.real(x) < 0,
                  ivy.logical_and(ivy.real(x) == 0, ivy.imag(x) < 0),
              )
          ),
          x,
          ivy.astype(0.0, x.dtype),
      )
      return complex_max + alpha * ivy.expm1(complex_min / alpha)
  
imports: from typing import Union, Optional, Callable, Literal
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import handle_array_function, handle_nestable, to_native_arrays_and_back, handle_array_like_without_promotion, handle_out_argument, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_complex_input
label_desc: Use image node_id 14 for calling a global function with example usage: _celu_jax_like() and returns: unknown