code: def test_interpret_ast(ast: LazyOp):
      if ast.op in BufferOps:
          test_rebuild(ast.arg.st)
      else:
          for src in ast.src:
              test_interpret_ast(src)
  
file_path: tinygrad/extra/to_movement_ops.py
imports: from tqdm import tqdm
  import itertools
  from collections import defaultdict
  from typing import List, Tuple, DefaultDict
  from extra.optimization.helpers import load_worlds, ast_str_to_ast
  from tinygrad.ops import MovementOps, BufferOps, LazyOp
  from tinygrad.helpers import prod
  from tinygrad.shape.shapetracker import ShapeTracker
  from tinygrad.shape.symbolic import sym_infer, Node
label_desc: Use image node_id 8 for calling a global function with example usage: test_interpret_ast(ast) without return types