func Main() t.3 = HeapAllocZ(4) [t.3+0] = :functable_TV t.4 = t.3 t.5 = t.4 t.6 = [t.5+0] t.7 = [t.6+0] t.2 = call t.7(t.5) t.8 = t.2 t.9 = t.8 PrintIntS(t.9) ret const functable_TV :TV_Start func TV_Start(this ) t.3 = HeapAllocZ(108) [t.3+0] = :functable_Tree t.4 = t.3 t.5 = t.4 t.2 = t.5 t.8 = t.2 t.2 = t.8 t.9 = [t.2+0] t.10 = [t.9+0] t.11 = 16 t.12 = t.11 t.7 = call t.10(t.2 t.12) t.13 = t.7 t.6 = t.13 t.15 = t.2 t.2 = t.15 t.16 = [t.2+0] t.17 = [t.16+72] t.14 = call t.17(t.2) t.18 = t.14 t.6 = t.18 t.19 = 100000000 t.20 = t.19 t.21 = t.20 PrintIntS(t.21) t.23 = t.2 t.2 = t.23 t.24 = [t.2+0] t.25 = [t.24+48] t.26 = 8 t.27 = t.26 t.22 = call t.25(t.2 t.27) t.28 = t.22 t.6 = t.28 t.30 = t.2 t.2 = t.30 t.31 = [t.2+0] t.32 = [t.31+48] t.33 = 24 t.34 = t.33 t.29 = call t.32(t.2 t.34) t.35 = t.29 t.6 = t.35 t.37 = t.2 t.2 = t.37 t.38 = [t.2+0] t.39 = [t.38+48] t.40 = 4 t.41 = t.40 t.36 = call t.39(t.2 t.41) t.42 = t.36 t.6 = t.42 t.44 = t.2 t.2 = t.44 t.45 = [t.2+0] t.46 = [t.45+48] t.47 = 12 t.48 = t.47 t.43 = call t.46(t.2 t.48) t.49 = t.43 t.6 = t.49 t.51 = t.2 t.2 = t.51 t.52 = [t.2+0] t.53 = [t.52+48] t.54 = 20 t.55 = t.54 t.50 = call t.53(t.2 t.55) t.56 = t.50 t.6 = t.56 t.58 = t.2 t.2 = t.58 t.59 = [t.2+0] t.60 = [t.59+48] t.61 = 28 t.62 = t.61 t.57 = call t.60(t.2 t.62) t.63 = t.57 t.6 = t.63 t.65 = t.2 t.2 = t.65 t.66 = [t.2+0] t.67 = [t.66+48] t.68 = 14 t.69 = t.68 t.64 = call t.67(t.2 t.69) t.70 = t.64 t.6 = t.70 t.72 = t.2 t.2 = t.72 t.73 = [t.2+0] t.74 = [t.73+72] t.71 = call t.74(t.2) t.75 = t.71 t.6 = t.75 t.76 = 100000000 t.77 = t.76 t.78 = t.77 PrintIntS(t.78) t.80 = HeapAllocZ(16) [t.80+0] = :functable_MyVisitor t.81 = t.80 t.82 = t.81 t.79 = t.82 t.83 = 50000000 t.84 = t.83 t.85 = t.84 PrintIntS(t.85) t.88 = t.2 t.2 = t.88 t.89 = [t.2+0] t.90 = [t.89+80] t.91 = t.79 t.92 = t.91 t.87 = call t.90(t.2 t.92) t.93 = t.87 t.86 = t.93 t.94 = 100000000 t.95 = t.94 t.96 = t.95 PrintIntS(t.96) t.98 = t.2 t.2 = t.98 t.99 = [t.2+0] t.100 = [t.99+68] t.101 = 24 t.102 = t.101 t.97 = call t.100(t.2 t.102) t.103 = t.97 t.104 = t.103 PrintIntS(t.104) t.106 = t.2 t.2 = t.106 t.107 = [t.2+0] t.108 = [t.107+68] t.109 = 12 t.110 = t.109 t.105 = call t.108(t.2 t.110) t.111 = t.105 t.112 = t.111 PrintIntS(t.112) t.114 = t.2 t.2 = t.114 t.115 = [t.2+0] t.116 = [t.115+68] t.117 = 16 t.118 = t.117 t.113 = call t.116(t.2 t.118) t.119 = t.113 t.120 = t.119 PrintIntS(t.120) t.122 = t.2 t.2 = t.122 t.123 = [t.2+0] t.124 = [t.123+68] t.125 = 50 t.126 = t.125 t.121 = call t.124(t.2 t.126) t.127 = t.121 t.128 = t.127 PrintIntS(t.128) t.130 = t.2 t.2 = t.130 t.131 = [t.2+0] t.132 = [t.131+68] t.133 = 12 t.134 = t.133 t.129 = call t.132(t.2 t.134) t.135 = t.129 t.136 = t.135 PrintIntS(t.136) t.138 = t.2 t.2 = t.138 t.139 = [t.2+0] t.140 = [t.139+52] t.141 = 12 t.142 = t.141 t.137 = call t.140(t.2 t.142) t.143 = t.137 t.6 = t.143 t.145 = t.2 t.2 = t.145 t.146 = [t.2+0] t.147 = [t.146+72] t.144 = call t.147(t.2) t.148 = t.144 t.6 = t.148 t.150 = t.2 t.2 = t.150 t.151 = [t.2+0] t.152 = [t.151+68] t.153 = 12 t.154 = t.153 t.149 = call t.152(t.2 t.154) t.155 = t.149 t.156 = t.155 PrintIntS(t.156) t.157 = 0 t.158 = t.157 t.159 = t.158 ret t.159 const functable_Tree :Tree_Init :Tree_SetRight :Tree_SetLeft :Tree_GetRight :Tree_GetLeft :Tree_GetKey :Tree_SetKey :Tree_GetHas_Right :Tree_GetHas_Left :Tree_SetHas_Left :Tree_SetHas_Right :Tree_Compare :Tree_Insert :Tree_Delete :Tree_Remove :Tree_RemoveRight :Tree_RemoveLeft :Tree_Search :Tree_Print :Tree_RecPrint :Tree_accept func Tree_Init(this t.0 ) t.1 = t.0 t.2 = t.1 [this+92] = t.2 t.3 = 0 t.4 = t.3 [this+96] = t.4 t.5 = 0 t.6 = t.5 [this+100] = t.6 t.7 = 1 t.8 = t.7 t.9 = t.8 ret t.9 func Tree_SetRight(this t.0 ) t.1 = t.0 t.2 = t.1 [this+88] = t.2 t.3 = 1 t.4 = t.3 t.5 = t.4 ret t.5 func Tree_SetLeft(this t.0 ) t.1 = t.0 t.2 = t.1 [this+84] = t.2 t.3 = 1 t.4 = t.3 t.5 = t.4 ret t.5 func Tree_GetRight(this ) t.0 = [this+88] t.1 = t.0 t.2 = t.1 ret t.2 func Tree_GetLeft(this ) t.0 = [this+84] t.1 = t.0 t.2 = t.1 ret t.2 func Tree_GetKey(this ) t.0 = [this+92] t.1 = t.0 t.2 = t.1 ret t.2 func Tree_SetKey(this t.0 ) t.1 = t.0 t.2 = t.1 [this+92] = t.2 t.3 = 1 t.4 = t.3 t.5 = t.4 ret t.5 func Tree_GetHas_Right(this ) t.0 = [this+100] t.1 = t.0 t.2 = t.1 ret t.2 func Tree_GetHas_Left(this ) t.0 = [this+96] t.1 = t.0 t.2 = t.1 ret t.2 func Tree_SetHas_Left(this t.0 ) t.1 = t.0 t.2 = t.1 [this+96] = t.2 t.3 = 1 t.4 = t.3 t.5 = t.4 ret t.5 func Tree_SetHas_Right(this t.0 ) t.1 = t.0 t.2 = t.1 [this+100] = t.2 t.3 = 1 t.4 = t.3 t.5 = t.4 ret t.5 func Tree_Compare(this t.0 t.1 ) t.3 = 0 t.4 = t.3 t.2 = t.4 t.7 = t.1 t.8 = 1 t.6 = Add(t.7 t.8) t.9 = t.6 t.5 = t.9 t.11 = t.0 t.12 = t.1 t.10 = LtS(t.11 t.12) t.13 = t.10 t.14 = t.13 if0 t.14 goto :if216_else if216_body: t.15 = 0 t.16 = t.15 t.2 = t.16 goto :if216_end if216_else: t.19 = t.0 t.20 = t.5 t.18 = LtS(t.19 t.20) t.21 = t.18 t.22 = t.21 t.23 = t.22 t.17 = Eq(t.23 0) t.24 = t.17 t.25 = t.24 t.26 = t.25 if0 t.26 goto :if223_else if223_body: t.27 = 0 t.28 = t.27 t.2 = t.28 goto :if223_end if223_else: t.29 = 1 t.30 = t.29 t.2 = t.30 if223_end: if216_end: t.31 = t.2 t.32 = t.31 t.33 = t.32 ret t.33 func Tree_Insert(this t.0 ) t.3 = HeapAllocZ(108) [t.3+0] = :functable_Tree t.4 = t.3 t.5 = t.4 t.2 = t.5 t.8 = t.2 t.2 = t.8 t.9 = [t.2+0] t.10 = [t.9+0] t.11 = t.0 t.12 = t.11 t.7 = call t.10(t.2 t.12) t.13 = t.7 t.6 = t.13 t.15 = this t.16 = t.15 t.14 = t.16 t.18 = 1 t.19 = t.18 t.17 = t.19 while254_test: t.20 = t.17 t.21 = t.20 t.22 = t.21 if0 t.22 goto :while254_end while254_body: t.25 = t.14 t.14 = t.25 t.26 = [t.14+0] t.27 = [t.26+20] t.24 = call t.27(t.14) t.28 = t.24 t.23 = t.28 t.30 = t.0 t.31 = t.23 t.29 = LtS(t.30 t.31) t.32 = t.29 t.33 = t.32 if0 t.33 goto :if263_else if263_body: t.35 = t.14 t.14 = t.35 t.36 = [t.14+0] t.37 = [t.36+32] t.34 = call t.37(t.14) t.38 = t.34 t.39 = t.38 if0 t.39 goto :if268_else if268_body: t.41 = t.14 t.14 = t.41 t.42 = [t.14+0] t.43 = [t.42+16] t.40 = call t.43(t.14) t.44 = t.40 t.14 = t.44 goto :if268_end if268_else: t.45 = 0 t.46 = t.45 t.17 = t.46 t.48 = t.14 t.14 = t.48 t.49 = [t.14+0] t.50 = [t.49+36] t.51 = 1 t.52 = t.51 t.47 = call t.50(t.14 t.52) t.53 = t.47 t.6 = t.53 t.55 = t.14 t.14 = t.55 t.56 = [t.14+0] t.57 = [t.56+8] t.58 = t.2 t.59 = t.58 t.54 = call t.57(t.14 t.59) t.60 = t.54 t.6 = t.60 if268_end: goto :if263_end if263_else: t.62 = t.14 t.14 = t.62 t.63 = [t.14+0] t.64 = [t.63+28] t.61 = call t.64(t.14) t.65 = t.61 t.66 = t.65 if0 t.66 goto :if295_else if295_body: t.68 = t.14 t.14 = t.68 t.69 = [t.14+0] t.70 = [t.69+12] t.67 = call t.70(t.14) t.71 = t.67 t.14 = t.71 goto :if295_end if295_else: t.72 = 0 t.73 = t.72 t.17 = t.73 t.75 = t.14 t.14 = t.75 t.76 = [t.14+0] t.77 = [t.76+40] t.78 = 1 t.79 = t.78 t.74 = call t.77(t.14 t.79) t.80 = t.74 t.6 = t.80 t.82 = t.14 t.14 = t.82 t.83 = [t.14+0] t.84 = [t.83+4] t.85 = t.2 t.86 = t.85 t.81 = call t.84(t.14 t.86) t.87 = t.81 t.6 = t.87 if295_end: if263_end: goto :while254_test while254_end: t.88 = 1 t.89 = t.88 t.90 = t.89 ret t.90 func Tree_Delete(this t.0 ) t.3 = this t.4 = t.3 t.2 = t.4 t.6 = this t.7 = t.6 t.5 = t.7 t.9 = 1 t.10 = t.9 t.8 = t.10 t.12 = 0 t.13 = t.12 t.11 = t.13 t.15 = 1 t.16 = t.15 t.14 = t.16 while335_test: t.17 = t.8 t.18 = t.17 t.19 = t.18 if0 t.19 goto :while335_end while335_body: t.22 = t.2 t.2 = t.22 t.23 = [t.2+0] t.24 = [t.23+20] t.21 = call t.24(t.2) t.25 = t.21 t.20 = t.25 t.27 = t.0 t.28 = t.20 t.26 = LtS(t.27 t.28) t.29 = t.26 t.30 = t.29 if0 t.30 goto :if344_else if344_body: t.32 = t.2 t.2 = t.32 t.33 = [t.2+0] t.34 = [t.33+32] t.31 = call t.34(t.2) t.35 = t.31 t.36 = t.35 if0 t.36 goto :if349_else if349_body: t.37 = t.2 t.38 = t.37 t.5 = t.38 t.40 = t.2 t.2 = t.40 t.41 = [t.2+0] t.42 = [t.41+16] t.39 = call t.42(t.2) t.43 = t.39 t.2 = t.43 goto :if349_end if349_else: t.44 = 0 t.45 = t.44 t.8 = t.45 if349_end: goto :if344_end if344_else: t.47 = t.20 t.48 = t.0 t.46 = LtS(t.47 t.48) t.49 = t.46 t.50 = t.49 if0 t.50 goto :if364_else if364_body: t.52 = t.2 t.2 = t.52 t.53 = [t.2+0] t.54 = [t.53+28] t.51 = call t.54(t.2) t.55 = t.51 t.56 = t.55 if0 t.56 goto :if369_else if369_body: t.57 = t.2 t.58 = t.57 t.5 = t.58 t.60 = t.2 t.2 = t.60 t.61 = [t.2+0] t.62 = [t.61+12] t.59 = call t.62(t.2) t.63 = t.59 t.2 = t.63 goto :if369_end if369_else: t.64 = 0 t.65 = t.64 t.8 = t.65 if369_end: goto :if364_end if364_else: t.66 = t.14 t.67 = t.66 t.68 = t.67 if0 t.68 goto :if384_else if384_body: t.72 = t.2 t.2 = t.72 t.73 = [t.2+0] t.74 = [t.73+28] t.71 = call t.74(t.2) t.75 = t.71 t.70 = Eq(t.75 0) t.76 = t.70 t.79 = t.2 t.2 = t.79 t.80 = [t.2+0] t.81 = [t.80+32] t.78 = call t.81(t.2) t.82 = t.78 t.77 = Eq(t.82 0) t.83 = t.77 t.84 = Eq(1 t.76) t.85 = Eq(1 t.83) t.69 = Eq(t.84 t.85) t.86 = t.69 t.87 = t.86 if0 t.87 goto :if387_else if387_body: t.89 = 1 t.90 = t.89 t.88 = t.90 goto :if387_end if387_else: t.92 = this t.93 = [this] t.94 = t.5 t.95 = t.94 t.96 = t.2 t.97 = t.96 t.93 = [t.93+56] t.91 = call t.93(this t.95 t.97) t.98 = t.91 t.88 = t.98 if387_end: goto :if384_end if384_else: t.100 = this t.101 = [this] t.102 = t.5 t.103 = t.102 t.104 = t.2 t.105 = t.104 t.101 = [t.101+56] t.99 = call t.101(this t.103 t.105) t.106 = t.99 t.88 = t.106 if384_end: t.107 = 1 t.108 = t.107 t.11 = t.108 t.109 = 0 t.110 = t.109 t.8 = t.110 if364_end: if344_end: t.111 = 0 t.112 = t.111 t.14 = t.112 goto :while335_test while335_end: t.113 = t.11 t.114 = t.113 t.115 = t.114 ret t.115 func Tree_Remove(this t.0 t.1 ) t.3 = t.1 t.1 = t.3 t.4 = [t.1+0] t.5 = [t.4+32] t.2 = call t.5(t.1) t.6 = t.2 t.7 = t.6 if0 t.7 goto :if433_else if433_body: t.10 = this t.11 = [this] t.12 = t.0 t.13 = t.12 t.14 = t.1 t.15 = t.14 t.11 = [t.11+64] t.9 = call t.11(this t.13 t.15) t.16 = t.9 t.8 = t.16 goto :if433_end if433_else: t.18 = t.1 t.1 = t.18 t.19 = [t.1+0] t.20 = [t.19+28] t.17 = call t.20(t.1) t.21 = t.17 t.22 = t.21 if0 t.22 goto :if447_else if447_body: t.24 = this t.25 = [this] t.26 = t.0 t.27 = t.26 t.28 = t.1 t.29 = t.28 t.25 = [t.25+60] t.23 = call t.25(this t.27 t.29) t.30 = t.23 t.8 = t.30 goto :if447_end if447_else: t.33 = t.1 t.1 = t.33 t.34 = [t.1+0] t.35 = [t.34+20] t.32 = call t.35(t.1) t.36 = t.32 t.31 = t.36 t.40 = t.0 t.0 = t.40 t.41 = [t.0+0] t.42 = [t.41+16] t.39 = call t.42(t.0) t.43 = t.39 t.44 = t.43 t.45 = t.44 t.46 = [t.45+0] t.47 = [t.46+20] t.38 = call t.47(t.45) t.48 = t.38 t.37 = t.48 t.50 = this t.51 = [this] t.52 = t.31 t.53 = t.52 t.54 = t.37 t.55 = t.54 t.51 = [t.51+44] t.49 = call t.51(this t.53 t.55) t.56 = t.49 t.57 = t.56 if0 t.57 goto :if477_else if477_body: t.59 = t.0 t.0 = t.59 t.60 = [t.0+0] t.61 = [t.60+8] t.62 = [this+104] t.63 = t.62 t.58 = call t.61(t.0 t.63) t.64 = t.58 t.8 = t.64 t.66 = t.0 t.0 = t.66 t.67 = [t.0+0] t.68 = [t.67+36] t.69 = 0 t.70 = t.69 t.65 = call t.68(t.0 t.70) t.71 = t.65 t.8 = t.71 goto :if477_end if477_else: t.73 = t.0 t.0 = t.73 t.74 = [t.0+0] t.75 = [t.74+4] t.76 = [this+104] t.77 = t.76 t.72 = call t.75(t.0 t.77) t.78 = t.72 t.8 = t.78 t.80 = t.0 t.0 = t.80 t.81 = [t.0+0] t.82 = [t.81+40] t.83 = 0 t.84 = t.83 t.79 = call t.82(t.0 t.84) t.85 = t.79 t.8 = t.85 if477_end: if447_end: if433_end: t.86 = 1 t.87 = t.86 t.88 = t.87 ret t.88 func Tree_RemoveRight(this t.0 t.1 ) while517_test: t.3 = t.1 t.1 = t.3 t.4 = [t.1+0] t.5 = [t.4+28] t.2 = call t.5(t.1) t.6 = t.2 t.7 = t.6 if0 t.7 goto :while517_end while517_body: t.10 = t.1 t.1 = t.10 t.11 = [t.1+0] t.12 = [t.11+24] t.15 = t.1 t.1 = t.15 t.16 = [t.1+0] t.17 = [t.16+12] t.14 = call t.17(t.1) t.18 = t.14 t.19 = t.18 t.20 = t.19 t.21 = [t.20+0] t.22 = [t.21+20] t.13 = call t.22(t.20) t.23 = t.13 t.9 = call t.12(t.1 t.23) t.24 = t.9 t.8 = t.24 t.25 = t.1 t.26 = t.25 t.0 = t.26 t.28 = t.1 t.1 = t.28 t.29 = [t.1+0] t.30 = [t.29+12] t.27 = call t.30(t.1) t.31 = t.27 t.1 = t.31 goto :while517_test while517_end: t.33 = t.0 t.0 = t.33 t.34 = [t.0+0] t.35 = [t.34+4] t.36 = [this+104] t.37 = t.36 t.32 = call t.35(t.0 t.37) t.38 = t.32 t.8 = t.38 t.40 = t.0 t.0 = t.40 t.41 = [t.0+0] t.42 = [t.41+40] t.43 = 0 t.44 = t.43 t.39 = call t.42(t.0 t.44) t.45 = t.39 t.8 = t.45 t.46 = 1 t.47 = t.46 t.48 = t.47 ret t.48 func Tree_RemoveLeft(this t.0 t.1 ) while564_test: t.3 = t.1 t.1 = t.3 t.4 = [t.1+0] t.5 = [t.4+32] t.2 = call t.5(t.1) t.6 = t.2 t.7 = t.6 if0 t.7 goto :while564_end while564_body: t.10 = t.1 t.1 = t.10 t.11 = [t.1+0] t.12 = [t.11+24] t.15 = t.1 t.1 = t.15 t.16 = [t.1+0] t.17 = [t.16+16] t.14 = call t.17(t.1) t.18 = t.14 t.19 = t.18 t.20 = t.19 t.21 = [t.20+0] t.22 = [t.21+20] t.13 = call t.22(t.20) t.23 = t.13 t.9 = call t.12(t.1 t.23) t.24 = t.9 t.8 = t.24 t.25 = t.1 t.26 = t.25 t.0 = t.26 t.28 = t.1 t.1 = t.28 t.29 = [t.1+0] t.30 = [t.29+16] t.27 = call t.30(t.1) t.31 = t.27 t.1 = t.31 goto :while564_test while564_end: t.33 = t.0 t.0 = t.33 t.34 = [t.0+0] t.35 = [t.34+8] t.36 = [this+104] t.37 = t.36 t.32 = call t.35(t.0 t.37) t.38 = t.32 t.8 = t.38 t.40 = t.0 t.0 = t.40 t.41 = [t.0+0] t.42 = [t.41+36] t.43 = 0 t.44 = t.43 t.39 = call t.42(t.0 t.44) t.45 = t.39 t.8 = t.45 t.46 = 1 t.47 = t.46 t.48 = t.47 ret t.48 func Tree_Search(this t.0 ) t.3 = this t.4 = t.3 t.2 = t.4 t.6 = 1 t.7 = t.6 t.5 = t.7 t.9 = 0 t.10 = t.9 t.8 = t.10 while617_test: t.11 = t.5 t.12 = t.11 t.13 = t.12 if0 t.13 goto :while617_end while617_body: t.16 = t.2 t.2 = t.16 t.17 = [t.2+0] t.18 = [t.17+20] t.15 = call t.18(t.2) t.19 = t.15 t.14 = t.19 t.21 = t.0 t.22 = t.14 t.20 = LtS(t.21 t.22) t.23 = t.20 t.24 = t.23 if0 t.24 goto :if626_else if626_body: t.26 = t.2 t.2 = t.26 t.27 = [t.2+0] t.28 = [t.27+32] t.25 = call t.28(t.2) t.29 = t.25 t.30 = t.29 if0 t.30 goto :if631_else if631_body: t.32 = t.2 t.2 = t.32 t.33 = [t.2+0] t.34 = [t.33+16] t.31 = call t.34(t.2) t.35 = t.31 t.2 = t.35 goto :if631_end if631_else: t.36 = 0 t.37 = t.36 t.5 = t.37 if631_end: goto :if626_end if626_else: t.39 = t.14 t.40 = t.0 t.38 = LtS(t.39 t.40) t.41 = t.38 t.42 = t.41 if0 t.42 goto :if644_else if644_body: t.44 = t.2 t.2 = t.44 t.45 = [t.2+0] t.46 = [t.45+28] t.43 = call t.46(t.2) t.47 = t.43 t.48 = t.47 if0 t.48 goto :if649_else if649_body: t.50 = t.2 t.2 = t.50 t.51 = [t.2+0] t.52 = [t.51+12] t.49 = call t.52(t.2) t.53 = t.49 t.2 = t.53 goto :if649_end if649_else: t.54 = 0 t.55 = t.54 t.5 = t.55 if649_end: goto :if644_end if644_else: t.56 = 1 t.57 = t.56 t.8 = t.57 t.58 = 0 t.59 = t.58 t.5 = t.59 if644_end: if626_end: goto :while617_test while617_end: t.60 = t.8 t.61 = t.60 t.62 = t.61 ret t.62 func Tree_Print(this ) t.2 = this t.3 = t.2 t.1 = t.3 t.6 = this t.7 = [this] t.8 = t.1 t.9 = t.8 t.7 = [t.7+76] t.5 = call t.7(this t.9) t.10 = t.5 t.4 = t.10 t.11 = 1 t.12 = t.11 t.13 = t.12 ret t.13 func Tree_RecPrint(this t.0 ) t.2 = t.0 t.0 = t.2 t.3 = [t.0+0] t.4 = [t.3+32] t.1 = call t.4(t.0) t.5 = t.1 t.6 = t.5 if0 t.6 goto :if680_else if680_body: t.9 = this t.10 = [this] t.12 = t.0 t.0 = t.12 t.13 = [t.0+0] t.14 = [t.13+16] t.11 = call t.14(t.0) t.15 = t.11 t.10 = [t.10+76] t.8 = call t.10(this t.15) t.16 = t.8 t.7 = t.16 goto :if680_end if680_else: t.17 = 1 t.18 = t.17 t.7 = t.18 if680_end: t.20 = t.0 t.0 = t.20 t.21 = [t.0+0] t.22 = [t.21+20] t.19 = call t.22(t.0) t.23 = t.19 t.24 = t.23 PrintIntS(t.24) t.26 = t.0 t.0 = t.26 t.27 = [t.0+0] t.28 = [t.27+28] t.25 = call t.28(t.0) t.29 = t.25 t.30 = t.29 if0 t.30 goto :if703_else if703_body: t.32 = this t.33 = [this] t.35 = t.0 t.0 = t.35 t.36 = [t.0+0] t.37 = [t.36+12] t.34 = call t.37(t.0) t.38 = t.34 t.33 = [t.33+76] t.31 = call t.33(this t.38) t.39 = t.31 t.7 = t.39 goto :if703_end if703_else: t.40 = 1 t.41 = t.40 t.7 = t.41 if703_end: t.42 = 1 t.43 = t.42 t.44 = t.43 ret t.44 func Tree_accept(this t.0 ) t.1 = 333 t.2 = t.1 t.3 = t.2 PrintIntS(t.3) t.6 = t.0 t.0 = t.6 t.7 = [t.0+0] t.8 = [t.7+0] t.9 = this t.10 = t.9 t.5 = call t.8(t.0 t.10) t.11 = t.5 t.4 = t.11 t.12 = 0 t.13 = t.12 t.14 = t.13 ret t.14 const functable_Visitor :Visitor_visit func Visitor_visit(this t.0 ) t.2 = t.0 t.0 = t.2 t.3 = [t.0+0] t.4 = [t.3+28] t.1 = call t.4(t.0) t.5 = t.1 t.6 = t.5 if0 t.6 goto :if736_else if736_body: t.8 = t.0 t.0 = t.8 t.9 = [t.0+0] t.10 = [t.9+12] t.7 = call t.10(t.0) t.11 = t.7 [this+8] = t.11 t.14 = [this+8] t.15 = t.14 t.16 = [t.15+0] t.17 = [t.16+80] t.18 = this t.19 = t.18 t.13 = call t.17(t.15 t.19) t.20 = t.13 t.12 = t.20 goto :if736_end if736_else: t.21 = 0 t.22 = t.21 t.12 = t.22 if736_end: t.24 = t.0 t.0 = t.24 t.25 = [t.0+0] t.26 = [t.25+32] t.23 = call t.26(t.0) t.27 = t.23 t.28 = t.27 if0 t.28 goto :if756_else if756_body: t.30 = t.0 t.0 = t.30 t.31 = [t.0+0] t.32 = [t.31+16] t.29 = call t.32(t.0) t.33 = t.29 [this+4] = t.33 t.35 = [this+4] t.36 = t.35 t.37 = [t.36+0] t.38 = [t.37+80] t.39 = this t.40 = t.39 t.34 = call t.38(t.36 t.40) t.41 = t.34 t.12 = t.41 goto :if756_end if756_else: t.42 = 0 t.43 = t.42 t.12 = t.43 if756_end: t.44 = 0 t.45 = t.44 t.46 = t.45 ret t.46 const functable_MyVisitor :MyVisitor_visit :Visitor_visit func MyVisitor_visit(this t.0 ) t.2 = t.0 t.0 = t.2 t.3 = [t.0+0] t.4 = [t.3+28] t.1 = call t.4(t.0) t.5 = t.1 t.6 = t.5 if0 t.6 goto :if779_else if779_body: t.8 = t.0 t.0 = t.8 t.9 = [t.0+0] t.10 = [t.9+12] t.7 = call t.10(t.0) t.11 = t.7 [this+12] = t.11 t.14 = [this+12] t.15 = t.14 t.16 = [t.15+0] t.17 = [t.16+80] t.18 = this t.19 = t.18 t.13 = call t.17(t.15 t.19) t.20 = t.13 t.12 = t.20 goto :if779_end if779_else: t.21 = 0 t.22 = t.21 t.12 = t.22 if779_end: t.24 = t.0 t.0 = t.24 t.25 = [t.0+0] t.26 = [t.25+20] t.23 = call t.26(t.0) t.27 = t.23 t.28 = t.27 PrintIntS(t.28) t.30 = t.0 t.0 = t.30 t.31 = [t.0+0] t.32 = [t.31+32] t.29 = call t.32(t.0) t.33 = t.29 t.34 = t.33 if0 t.34 goto :if805_else if805_body: t.36 = t.0 t.0 = t.36 t.37 = [t.0+0] t.38 = [t.37+16] t.35 = call t.38(t.0) t.39 = t.35 [this+8] = t.39 t.41 = [this+8] t.42 = t.41 t.43 = [t.42+0] t.44 = [t.43+80] t.45 = this t.46 = t.45 t.40 = call t.44(t.42 t.46) t.47 = t.40 t.12 = t.47 goto :if805_end if805_else: t.48 = 0 t.49 = t.48 t.12 = t.49 if805_end: t.50 = 0 t.51 = t.50 t.52 = t.51 ret t.52 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v