code: def _max_precision_sum(a, b):
      """Coerces `a` or `b` to the higher-precision dtype, and returns the sum."""
      if not dtype_util.base_equal(a.dtype, b.dtype):
          if dtype_util.size(a.dtype) >= dtype_util.size(b.dtype):
              b = tf.cast(b, a.dtype)
          else:
              a = tf.cast(a, b.dtype)
      return a + b
  
imports: import collections
  import functools
  import sys
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.bijectors import ldj_ratio
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow.python.ops import control_flow_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 4 for calling a global function with example usage: _max_precision_sum(a, b) and returns: unknown