code: def test_output_dim_for_same_symbolic_dim_inputs(self):
      symbolic_input_shape = (get_new_symbol(), 4, 5)
  
      @mb.program(
          input_specs=[
              mb.TensorSpec(shape=symbolic_input_shape),
              mb.TensorSpec(shape=symbolic_input_shape),
          ]
      )
      def prog(x, y):
          return mb.add(x=x, y=y)
  
      add_op = prog.find_ops(op_type="add")[0]
      output_shape = add_op.outputs[0].shape
      if output_shape != symbolic_input_shape:
          raise AssertionError(
              "Invalid Output shape {}. Should instead be {}".format(
                  output_shape, symbolic_input_shape
              )
          )
  
imports: import itertools
  import numpy
  import pytest
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import get_new_symbol, types
  from coremltools.converters.mil.mil.ops.tests.iOS14 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import run_compare_builder
  from coremltools.converters.mil.testing_reqs import compute_units
  from coremltools.converters.mil.testing_utils import ssa_fn
label_desc: Use image node_id 2 for calling the TestElementwiseBinary obj's underlying member method code with example usage: obj.test_output_dim_for_same_symbolic_dim_inputs() and returns: mb