code: def synthetic_pattern_program():
      ab = dsl.ProgramBuilder()
  
      def my_type(_):
          int_ = instructions.TensorType(np.int64, ())
          return ((int_, int_), int_, (int_, int_))
  
      with ab.function("synthetic", type_inference=my_type) as syn:
          ab.param("batch_size_index")
          one, three, five = ab.locals_(3)
          ab((one, (five, three))).pattern = ab.primop(
              lambda: (1, (2, 3))
          )
          ab(((ab.var.four, five), ab.var.six)).pattern = ab.primop(
              lambda: ((4, 5), 6)
          )
          ab.return_(((one, three), ab.var.four, (five, ab.var.six)))
  
      prog = ab.program(main=syn)
      return prog
  
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 4 for calling a global function with example usage: synthetic_pattern_program() and returns: prog, int_,  int_,  int_,  int_,  int_