code: def test_parallel_calls_with_non_ifm_input():
      """
      Test a graph that calls many different functions in parallel where
      the input is not the input to the function.
  
                      y = f(x)
              /         |         \
         z0 = g0(y)    ...      zi = gi(y)
             \         |         /
                    concat
      """
  
      def get_inner_func_1():
          x = relay.var("x", shape=(1, 4, 5, 6), dtype="int8")
          x = relay.tanh(x)
          x = _create_primitive_function(x)
          return x
  
      def get_inner_func_2():
          x = relay.var("x", shape=(1, 4, 5, 6), dtype="int8")
          x = relay.nn.max_pool2d(x, pool_size=(2, 2))
          x = _create_primitive_function(x)
          return x
  
      ifm = relay.var("input", shape=(1, 4, 5, 6), dtype="int8")
      y = relay.Call(get_inner_func_1(), [ifm])
      g = get_inner_func_2()
  
      no_calls = 20
      z = [relay.Call(g, [y]) for _ in range(0, no_calls)]
      out = relay.concatenate(z, axis=3)
      mod = tvm.IRModule.from_expr(out)
  
      expected_annotations = [
          [(1 * 4 * 5 * 6) + (1 * 4 * 5 * 6)],
          [
              (1 * 4 * 5 * 6) + (1 * 4 * 4 * 5) * i
              for i in range(1, no_calls + 1)
          ],
      ]
      expected_io_annotation = (1 * 4 * 5 * 6) + (
          1 * 4 * 4 * (5 * no_calls)
      )
      _check_used_memory_annotations(
          mod, expected_annotations, expected_io_annotation
      )
  
imports: import pytest
  import tvm
  from tvm import relay
  from tvm.relay.expr_functor import ExprVisitor
label_desc: Use image node_id 13 for calling a global function with example usage: test_parallel_calls_with_non_ifm_input() and returns: x, x