class_docstr: Result of Kahan summation, i.e., `sum = total - correction`.
  
  All the high-order bits of `sum` are held in the `total` field,
  so the correction can be dropped when returning to ordinary floating-point.
code: def __sub__(self, y):
      return Kahan._make(
          _kahan_reduction(
              self, -y if isinstance(y, Kahan) else (-y, 0)
          )
      )
  
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 the Kahan obj's underlying member method code with example usage: obj.__sub__(y) and returns: Kahan