code: def _kahan_reduction(x, y):
      """Implements the Kahan summation reduction."""
      (s, c), (s1, c1) = x, y
      for val in -c1, s1:
          u = val - c
          t = s + u
          # TODO(b/173158845): XLA:CPU reassociates-to-zero the correction term.
          c = (t - s) - u
          s = t
      return s, c
  
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 3 for calling a global function with example usage: _kahan_reduction(x, y) and returns: s,  c