code: def test_deepcopy_error_with_symbols_in_prog():
      prog = Program()
      func_inputs = {
          "x": mb.placeholder(shape=[get_new_symbol(), 3]),
          "y": mb.placeholder(shape=[2, 3]),
      }
      with Function(func_inputs) as ssa_fun:
          x, y = ssa_fun.inputs["x"], ssa_fun.inputs["y"]
          x = mb.relu(x=x)
          z = mb.add(x=x, y=y)
          ssa_fun.set_outputs([z])
      prog.add_function("main", ssa_fun)
      mlmodel = ct.convert(
          prog,
          convert_to="mlprogram",
          compute_precision=ct.precision.FLOAT32,
      )
      prog2 = mlmodel._get_mil_internal()
  
imports: import copy
  import os
  import tempfile
  import numpy
  import pytest
  import coremltools
  from coremltools._deps import _HAS_TORCH
  from coremltools.converters.mil import Builder
  from coremltools.converters.mil.mil import Function, Program, get_new_symbol
  from coremltools.converters.mil.testing_utils import get_op_types_in_program
label_desc: Use image node_id 2 for calling the TestMLProgramConverterExamples obj's underlying member method code with example usage: obj.test_deepcopy_error_with_symbols_in_prog() without return types