code: def _broadcasting_binary_op(fn):
      """Wraps a binary Tensorflow operator and performs XLA-style broadcasting."""
  
      def broadcasting_binary_op_wrapper(
          x, y, broadcast_dims=None, name=None
      ):
          """Inner wrapper function."""
          broadcast_dims = broadcast_dims or []
          broadcast_dims = ops.convert_to_tensor(
              broadcast_dims, dtypes.int64
          )
          # Rather than relying on having static shape information in the TensorFlow
          # graph, we use an XlaBroadcastHelper op that can compute the correct shapes
          # at JIT compilation time.
          x, y = gen_xla_ops.xla_broadcast_helper(x, y, broadcast_dims)
          return fn(x, y, name=name)
  
      return broadcasting_binary_op_wrapper
  
imports: from tensorflow.compiler.tf2xla.ops import gen_xla_ops
  from local_xla.xla import xla_data_pb2
  from tensorflow.core.framework import attr_value_pb2
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import bitwise_ops
  from tensorflow.python.ops import gen_math_ops
  from tensorflow.python.ops import gen_random_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import random_ops_util
  from tensorflow.python.ops import special_math_ops
  from tensorflow.python.ops.numpy_ops import np_utils
label_desc: Use image node_id 2 for calling a global function with example usage: _broadcasting_binary_op(fn) and returns: broadcasting_binary_op_wrapper, fn