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 = 1 t.2 = t.1 t.0 = t.2 t.4 = 5 t.5 = t.0 t.3 = LtS(t.4 t.5) t.6 = t.3 t.7 = t.6 if0 t.7 goto :if11_else if11_body: t.8 = 1 t.9 = t.8 t.10 = t.9 PrintIntS(t.10) goto :if11_end if11_else: t.11 = 0 t.12 = t.11 t.13 = t.12 PrintIntS(t.13) if11_end: t.14 = t.0 t.15 = t.14 t.16 = t.15 ret t.16 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v