code: def _kahan_reduce_bwd(axis, reducer, unsqueezed_shape, aux, grads):
      operands, inits = aux
      del axis, inits, reducer  # unused
      # Return (None, None) for gradients w.r.t. inits
      return (
          tf.broadcast_to(
              tf.reshape(grads[0], unsqueezed_shape),
              ps.shape(operands[0]),
          ),
          None,
      ), (None, None)
  
imports: import collections
  import functools
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import variadic_reduce
  from tensorflow_probability.python.math.scan_associative import scan_associative
  from tensorflow.python.util import deprecation
label_desc: Use image node_id 4 for calling a global function with example usage: _kahan_reduce_bwd(axis, reducer, unsqueezed_shape, aux, grads) and returns: tf,  None,  None,  None