code: def test_extract_conv_net():
      mod = get_conv_net()
      items = relay.analysis.extract_fused_functions(mod)
      functions = list(items.values())
      assert len(functions) == 2
      x = functions[0]
      y = functions[1]
  
      def is_conv(func):
          conv2d = relay.op.op.get("nn.conv2d")
          call_node = func.body
          return call_node.op == conv2d
  
      def is_conv_add(func):
          add = relay.op.op.get("add")
          call_node = func.body
          maybe_conv_module = tvm.IRModule.from_expr(call_node.args[0])
          return call_node.op == add and is_conv(
              maybe_conv_module["main"]
          )
  
      # Function traversal order isn't obvious, so checking both orders is more consistent
      assert (is_conv(x) and is_conv_add(y)) or (
          is_conv_add(x) and is_conv(y)
      )
  
file_path: tvm/tests/python/relay/test_analysis_extract_fused_functions.py
imports: import tvm
  from tvm import relay
  from tvm.relay.testing.synthetic import get_workload
label_desc: Use image node_id 4 for calling a global function with example usage: test_extract_conv_net() and returns: unknown, unknown