code: def _log_bessel_kve_bwd(aux, g):
      """Reverse mode impl for bessel_kve."""
      v, z = aux
      dtype = dtype_util.common_dtype([v, z], tf.float32)
      numpy_dtype = dtype_util.as_numpy_dtype(dtype)
  
      log_kve = _log_bessel_kve_custom_gradient(v, z)
      grad_z = (
          tfp_math.log_add_exp(
              _log_bessel_kve_custom_gradient(v - 1.0, z),
              _log_bessel_kve_custom_gradient(v + 1.0, z),
          )
          - numpy_dtype(np.log(2.0))
          - log_kve
      )
      grad_z = g * -tf.math.expm1(grad_z)
      _, grad_z = tfp_math.fix_gradient_for_broadcasting(
          [v, z], [tf.ones_like(grad_z), grad_z]
      )
  
      # No gradient for v at the moment. This is a complicated expression
      # The gradient with respect to the parameter doesn't have an easy closed
      # form. More work will need to be done to ensure good numerics for the
      # gradient.
      # TODO(b/169357627): Implement gradients of modified bessel functions with
      # respect to parameters.
  
      return None, grad_z
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 37 for calling a global function with example usage: _log_bessel_kve_bwd(aux, g) and returns: None,  grad_z