func Main() t.4 = HeapAllocZ(16) [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) t.3 = t.3 t.10 = [t.3+0] t.11 = [t.10+0] t.9 = call t.11(t.3 ) t.12 = t.9 PrintIntS(t.12) t.3 = t.3 t.15 = [t.3+0] t.16 = [t.15+4] t.17 = 10 t.18 = 20 t.14 = call t.16(t.3 t.17 t.18) t.13 = t.14 t.19 = t.13 PrintIntS(t.19) ret const functable_A :A_foo :A_bar func A_foo(this ) [this+12] = 0 t.1 = 1 t.2 = 2 t.0 = Add(t.1 t.2) [this+8] = t.0 t.4 = [this+8] t.5 = [this+12] t.3 = Add(t.4 t.5) [this+12] = t.3 t.6 = [this+12] ret t.6 func A_bar(this t.0 t.1 ) [this+8] = t.0 [this+12] = t.1 t.4 = [this+8] t.5 = [this+12] t.3 = MulS(t.4 t.5) t.2 = t.3 t.6 = t.2 ret t.6 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v