code: def testCatastrophicCancellation(self):
      # Check that we can detect catastrophic cancellations
  
      def bad_identity(x):
          return (1.0 + x) - 1.0
  
      # The relative error in this implementation of the identity
      # function is terrible.
      small = tf.constant(1e-6, dtype=tf.float32)
      self.assertGreater(
          self.evaluate(nt.relative_error_at(bad_identity, small)), 0.04
      )
  
      # But the function itself is well-conditioned
      self.assertAllEqual(
          self.evaluate(
              nt.inputwise_condition_numbers(bad_identity, small)
          ),
          [1.0],
      )
  
      # So the error due to poor conditioning is small
      self.assertLess(
          self.evaluate(
              nt.error_due_to_ill_conditioning(bad_identity, small)
          ),
          1e-13,
      )
  
      # And we have a lot of excess wrong bits
      self.assertGreater(
          self.evaluate(nt.excess_wrong_bits(bad_identity, small)), 19
      )
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.internal import numerics_testing
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 1 for calling the NumericsTestingTest obj's underlying member method code with example usage: obj.testCatastrophicCancellation() and returns: unknown