========= FILE ./src/runtime/tests/fixtures/forloop_nested/forloop_nested.ir.actual ========
fn2 () {
block0:
LOAD_UPVAL i_0
t1 = 0
n_0 = i_0[t1]
t5 = i_0[t1]
LOAD_UPVAL self_0
t7 = # self_0
t8 = t5 < t7
jnt t8 block3
next block1
block1:
t10 = i_0[t1]
t11 = 1
t12 = t10 + t11
i_0[t1] = t12
t14 = self_0[n_0]
RETURN t14
block3:
t15 = #iter_end
RETURN t15
}
fn1 (self_0) {
block0:
t1 = NEW_LIST
t2 = 0
t1 << t2
t5 = fn2
STORE_UPVAL t5, t1
STORE_UPVAL t5, self_0
RETURN t5
}
MAIN () {
block0:
t0 = #list
t1 = #iter
t2 = fn1
patch_0 = #patch
STORE_ARG t0
STORE_ARG t1
STORE_ARG t2
t4 = CALL patch_0
t5 = NEW_LIST
t6 = NEW_LIST
t7 = 1
t6 << t7
t9 = 2
t6 << t9
t11 = 3
t6 << t11
t5 << t6
t14 = NEW_LIST
t15 = 4
t14 << t15
t17 = 5
t14 << t17
t19 = 6
t14 << t19
t5 << t14
t22 = NEW_LIST
t23 = 7
t22 << t23
t25 = 8
t22 << t25
t27 = 9
t22 << t27
t5 << t22
t32 = t5[t1]
t33 = CALL t32
next block1
block1:
row_0 = CALL t33
t35 = #iter_end
t36 = row_0 == t35
jit t36 block6
next block2
block2:
t38 = row_0[t1]
t39 = CALL t38
next block3
block3:
cell_0 = CALL t39
t42 = cell_0 == t35
jit t42 block5
next block4
block4:
PRINT cell_0
jump block3
block5:
jump block1
block6:
t45 = null
RETURN t45
}