def METHOD_NAME():
    bb = relax.BlockBuilder()
    x = relax.Var("x", R.Tensor((3, 4), "float32"))
    y = relax.Var("y", R.Tensor((3, 4), "float32"))
    # ok because x + y will be normalized into a relax Var
    with bb.function("main", [x, y]):
        gv = bb.emit(relax.op.grad.start_checkpoint(x + y))
        bb.emit_func_output(gv)
    # wrong: tuple will not be normalized
    with pytest.raises(TVMError):
        bb.normalize(relax.op.grad.start_checkpoint((x, y)))
    # wrong: const will not be normalized
    with pytest.raises(TVMError):
        bb.normalize(relax.op.grad.start_checkpoint(relax.const(1, "float32")))