code: def broadcast_dynamic_shape(
      shape_x: dynamic_ragged_shape.DenseOrRaggedShape,
      shape_y: dynamic_ragged_shape.DenseOrRaggedShape,
  ) -> dynamic_ragged_shape.DynamicRaggedShape:
      """Returns the shape formed by broadcasting two shapes to be compatible.
  
      1. If shape_x and shape_y both have row_partitions, then fail if their dtypes
         don't match.
      2. If neither has row_partitions and they have different dtypes,
         go with int64.
      3. If one has row_partitions, go with that dtype.
  
      Args:
        shape_x: A `DynamicRaggedShape`
        shape_y: A `DynamicRaggedShape`
  
      Returns:
        A `DynamicRaggedShape`.
      Raises:
        ValueError: If `shape_x` and `shape_y` are not broadcast-compatible.
      """
      if not isinstance(
          shape_x, dynamic_ragged_shape.DynamicRaggedShape
      ):
          shape_x = dynamic_ragged_shape.DynamicRaggedShape([], shape_x)
      if not isinstance(
          shape_y, dynamic_ragged_shape.DynamicRaggedShape
      ):
          shape_y = dynamic_ragged_shape.DynamicRaggedShape([], shape_y)
      return dynamic_ragged_shape.broadcast_dynamic_shape(
          shape_x, shape_y
      )
  
imports: from typing import Optional
  from typing import Union
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import data_flow_ops
  from tensorflow.python.ops import gen_ragged_array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import sort_ops
  from tensorflow.python.ops.ragged import dynamic_ragged_shape
  from tensorflow.python.ops.ragged import ragged_functional_ops
  from tensorflow.python.ops.ragged import ragged_math_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.ops.ragged import ragged_util
  from tensorflow.python.ops.ragged import segment_id_ops
  from tensorflow.python.types import core
  from tensorflow.python.util import dispatch
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 23 for calling a global function with example usage: broadcast_dynamic_shape(shape_x, shape_y) and returns: dynamic_ragged_shape