code: def _randomized_roundoff_to_bfloat16(x, noise, cand1, cand2):
      """Round-off x to cand1 or to cand2 in an unbiased way.
  
      Cand1 and cand2 are the same shape as x.
      For every element of x, the corresponding elements of cand1 and cand2 should
      be the two closest bfloat16 values to x.  Order does not matter.
      cand1 and cand2 must differ from each other.
  
      Args:
        x: A float32 Tensor.
        noise: A Tensor broadcastable to the shape of x containing
        random uniform values in [0.0, 1.0].
        cand1: A bfloat16 Tensor the same shape as x.
        cand2: A bfloat16 Tensor the same shape as x.
  
      Returns:
        A bfloat16 Tensor.
      """
      cand1_f = tf.to_float(cand1)
      cand2_f = tf.to_float(cand2)
      step_size = cand2_f - cand1_f
      fpart = (x - cand1_f) / step_size
      ret = tf.where(tf.greater(fpart, noise), cand2, cand1)
      return ret
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow.compat.v1
  from tensorflow.python.framework import function
label_desc: Use image node_id 5 for calling a global function with example usage: _randomized_roundoff_to_bfloat16(x, noise, cand1, cand2) and returns: ret