func Main() t.4 = HeapAllocZ(4) [t.4+0] = :functable_A t.5 = t.4 t.6 = t.5 t.3 = t.6 t.8 = t.3 t.3 = t.8 t.9 = [t.3+0] t.10 = [t.9+0] t.7 = call t.10(t.3) t.11 = t.7 t.12 = t.11 PrintIntS(t.12) ret const functable_A :A_foo func A_foo(this ) t.1 = 0 t.2 = t.1 t.0 = t.2 while11_test: t.4 = t.0 t.5 = 10 t.3 = LtS(t.4 t.5) t.6 = t.3 t.7 = t.6 if0 t.7 goto :while11_end while11_body: t.9 = t.0 t.10 = 1 t.8 = Add(t.9 t.10) t.11 = t.8 t.0 = t.11 goto :while11_test while11_end: t.12 = t.0 t.13 = t.12 t.14 = t.13 ret t.14 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v