code: def test_record_follow_split_follow_fused_split():
      if not tvm.testing.device_enabled("llvm"):
          return
  
      A = te.placeholder((512, 512), name="A")
      B = te.placeholder((512, 512), name="B")
      k = te.reduce_axis((0, 512), name="k")
      C = te.compute(
          (512, 512),
          lambda i, j: te.sum(A[i][k] * B[k][j], axis=[k]),
          name="C",
      )
      D = topi.nn.relu(C)
      E = topi.nn.relu(D)
  
      dag = auto_scheduler.ComputeDAG([A, B, E])
      s = dag.get_init_state()
  
      # Follow Split
      s.split(C, s[C].iters[0], [4, 2, 8, 4], True)
      split_step0 = len(s.transform_steps) - 1
      s.follow_split(C, s[C].iters[5], split_step0, 4)
      # Follow Fused Split
      its0 = s.split(E, s[E].iters[0], [4, 2, 8, 4], True)
      split_step1 = len(s.transform_steps) - 1
      its1 = s.split(E, s[E].iters[5], [2, 4, 2, 4], True)
      split_step2 = len(s.transform_steps) - 1
      its = []
      for i0, i1 in zip(its0, its1):
          its.append(i0)
          its.append(i1)
      for i in range(0, 5):
          s.fuse(E, [s[E].iters[i], s[E].iters[i + 1]])
      s.follow_fused_split(
          D, s[D].iters[0], [split_step1, split_step2], 2, True
      )
  
      record_common(dag, s)
  
imports: import json
  import multiprocessing
  import numpy
  import tvm
  from tvm import topi
  from tvm import te, auto_scheduler
  import tempfile
  import tvm.testing
  import pickle
  from tvm.testing.auto_scheduler import matmul_auto_scheduler_test
  from tvm.auto_scheduler import workload_registry
label_desc: Use image node_id 4 for calling a global function with example usage: test_record_follow_split_follow_fused_split() without return types