def METHOD_NAME(sch, args, binds=None, simple_mode=True):
    """Do lower while keeping all axes in IR
    i.e. Do not eliminate loop with extent of 1, do not vectorize, unroll or inject virtual threads
    """
    sch = sch.normalize()
    # Phase 0
    context = tvm.transform.PassContext(config={"tir.debug_keep_trivial_loop": True})
    with context:
        mod = build_module.schedule_to_module(sch, args, binds=binds)
    mod = tvm.tir.transform.StorageFlatten(64)(mod._move())
    mod = tvm.tir.transform.Simplify()(mod._move())
    assert simple_mode
    return mod["main"].body