code: def elu(x: ArrayLike, alpha: ArrayLike = 1.0) -> Array:
      r"""Exponential linear unit activation function.
  
    Computes the element-wise function:
  
    .. math::
      \mathrm{elu}(x) = \begin{cases}
        x, & x > 0\\
        \alpha \left(\exp(x) - 1\right), & x \le 0
      \end{cases}
  
    Args:
      x : input array
      alpha : scalar or array of alpha values (default: 1.0)
  
    Returns:
      An array.
  
    See also:
      :func:`selu`
    """
      numpy_util.check_arraylike("elu", x)
      x_arr = jnp.asarray(x)
      return jnp.where(
          x_arr > 0,
          x_arr,
          alpha * jnp.expm1(jnp.where(x_arr > 0, 0.0, x_arr)),
      )
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  import numpy
  from typing import Any
  import jax
  import jax.numpy
  from jax import custom_jvp
  from jax import lax
  from jax._src import config
  from jax._src import core
  from jax._src import dtypes
  from jax._src import util
  from jax._src.core import AxisName
  from jax._src.numpy import util
  from jax._src.typing import Array, ArrayLike
  from jax._src.ops.special import logsumexp
label_desc: Use image node_id 8 for calling a global function with example usage: elu(x, alpha) and returns: jnp