func Main() t.4 = HeapAllocZ(4) [t.4+0] = :functable_A t.3 = t.4 t.3 = t.3 t.6 = [t.3+0] t.7 = [t.6+0] t.5 = call t.7(t.3 ) t.8 = t.5 PrintIntS(t.8) ret const functable_A :A_foo func A_foo(this ) t.0 = 1 t.2 = 5 t.3 = t.0 t.1 = LtS(t.2 t.3) t.4 = t.1 if0 t.4 goto :if5_else if5_body: t.5 = 1 PrintIntS(t.5) goto :if5_end if5_else: t.6 = 0 PrintIntS(t.6) if5_end: t.7 = t.0 ret t.7 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v