code: def testAutoBatchingMultivalueTF(self):
      input_ = np.array([1, 1, 1], dtype=np.int64)
      output = (
          (
              np.array([1, 1, 1], dtype=np.int64),
              np.array([3, 3, 3], dtype=np.int64),
          ),
          np.array([4, 4, 4], dtype=np.int64),
          (
              np.array([5, 5, 5], dtype=np.int64),
              np.array([6, 6, 6], dtype=np.int64),
          ),
      )
      prog = synthetic_pattern_program()
      # print(prog)
      input_t = tf.constant(input_, dtype=np.int64)
      typed = type_inference.infer_types(prog, [input_t], TF_BACKEND)
      # print(typed)
      alloc = allocation_strategy.optimize(typed)
      lowered = lowering.lower_function_calls(alloc)
      # print(lowered)
      for expected, obtained in instructions.pattern_zip(
          output,
          self.evaluate(_execute(lowered, input_t, 15, TF_BACKEND)),
      ):
          self.assertAllEqual(expected, obtained)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.auto_batching import allocation_strategy
  from tensorflow_probability.python.experimental.auto_batching import dsl
  from tensorflow_probability.python.experimental.auto_batching import instructions
  from tensorflow_probability.python.experimental.auto_batching import lowering
  from tensorflow_probability.python.experimental.auto_batching import numpy_backend
  from tensorflow_probability.python.experimental.auto_batching import tf_backend
  from tensorflow_probability.python.experimental.auto_batching import type_inference
  from tensorflow_probability.python.experimental.auto_batching import virtual_machine
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 5 for calling the AutoBatchingTest obj's underlying member method code with example usage: obj.testAutoBatchingMultivalueTF() without return types