code: def tanhshrink(
      x: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Apply the tanhshrink function element-wise.
  
      Parameters
      ----------
      x
          input array.
      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 tanhshrink activation of each element in ``x``.
  
      Examples
      --------
      With :class:`ivy.Array` input:
  
      >>> x = ivy.array([-1.0, 1.0, 2.0])
      >>> y = ivy.tanhshrink(x)
      >>> print(y)
      ivy.array([-0.23840582,  0.23840582,  1.03597236])
  
      >>> x = ivy.array([-1.0, 1.0, 2.0])
      >>> y = x.tanhshrink()
      >>> print(y)
      ivy.array([-0.23840582,  0.23840582,  1.03597236])
  
  
      >>> x = ivy.array([[-1.3, 3.8, 2.1], [1.7, 4.2, -6.6]])
      >>> y = ivy.tanhshrink(x)
      >>> print(y)
      ivy.array([[-0.43827677,  2.80100036,  1.12954807],
                  [ 0.76459098,  3.20044947, -5.60000372]])
      """
      return current_backend(x).tanhshrink(x, out=out)
  
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 12 for calling a global function with example usage: tanhshrink() and returns: current_backend