]> matita.cs.unibo.it Git - pkg-cerco/acc.git/blob - tests/clight/ifthenelse.ERTL.expected
Imported Upstream version 0.2
[pkg-cerco/acc.git] / tests / clight / ifthenelse.ERTL.expected
1 program
2
3 globals 0
4
5 procedure if_ual(3)
6 var %0, %1, %2, %3, %4, %5, %6, 
7     %7, %8, %9, %10, %11, %12, %13, 
8     %14, %15, %16, %17, %18, %19, %20, 
9     %21, %22, %23, %24, %25, %26, %27, 
10     %28, %29, %30, %31, %32, %33
11 entry if_ual84
12 if_ual84: newframe           --> if_ual83          
13 if_ual83: move  %33, $ra     --> if_ual82          
14 if_ual82: move  %32, $s7     --> if_ual81          
15 if_ual81: move  %31, $s6     --> if_ual80          
16 if_ual80: move  %30, $s5     --> if_ual79          
17 if_ual79: move  %29, $s4     --> if_ual78          
18 if_ual78: move  %28, $s3     --> if_ual77          
19 if_ual77: move  %27, $s2     --> if_ual76          
20 if_ual76: move  %26, $s1     --> if_ual75          
21 if_ual75: move  %25, $s0     --> if_ual74          
22 if_ual74: move  %0, $a0      --> if_ual73          
23 if_ual73: move  %1, $a1      --> if_ual72          
24 if_ual72: move  %2, $a2      --> if_ual71          
25 if_ual71: li    %3, 0        --> if_ual70          
26 if_ual70: li    %5, 0        --> if_ual69          
27 if_ual69: li    %6, 0        --> if_ual68          
28 if_ual68: li    %7, 0        --> if_ual67          
29 if_ual67: li    %8, 0        --> if_ual66          
30 if_ual66: li    %9, 0        --> if_ual65          
31 if_ual65: li    %10, 0       --> if_ual64          
32 if_ual64: li    %11, 0       --> if_ual63          
33 if_ual63: li    %12, 0       --> if_ual62          
34 if_ual62: li    %13, 0       --> if_ual61          
35 if_ual61: li    %14, 0       --> if_ual60          
36 if_ual60: li    %15, 0       --> if_ual59          
37 if_ual59: li    %16, 0       --> if_ual58          
38 if_ual58: li    %17, 0       --> if_ual57          
39 if_ual57: li    %18, 0       --> if_ual56          
40 if_ual56: li    %19, 0       --> if_ual55          
41 if_ual55: li    %20, 0       --> if_ual54          
42 if_ual54: li    %21, 0       --> if_ual53          
43 if_ual53: li    %22, 0       --> if_ual52          
44 if_ual52: li    %23, 0       --> if_ual51          
45 if_ual51: li    %24, 0       --> if_ual50          
46 if_ual50: emit c74           --> if_ual49          
47 if_ual49: li    %23, 0       --> if_ual48          
48 if_ual48: li    %24, 0       --> if_ual47          
49 if_ual47: seq   %22, %0, %24 --> if_ual46          
50 if_ual46: beq   %22, %23     --> if_ual43, if_ual45
51 if_ual45: emit c73           --> if_ual44          
52 if_ual44: addu  %3, %1, %2   --> if_ual2           
53 if_ual2 : emit c62           --> if_ual1           
54 if_ual1 : move  %4, %3       --> if_ual0           
55 if_ual0 : j                  --> if_ual96          
56 if_ual96: move  $v0, %4      --> if_ual95          
57 if_ual95: move  $ra, %33     --> if_ual94          
58 if_ual94: move  $s7, %32     --> if_ual93          
59 if_ual93: move  $s6, %31     --> if_ual92          
60 if_ual92: move  $s5, %30     --> if_ual91          
61 if_ual91: move  $s4, %29     --> if_ual90          
62 if_ual90: move  $s3, %28     --> if_ual89          
63 if_ual89: move  $s2, %27     --> if_ual88          
64 if_ual88: move  $s1, %26     --> if_ual87          
65 if_ual87: move  $s0, %25     --> if_ual86          
66 if_ual86: delframe           --> if_ual85          
67 if_ual85: jr    $ra          (xmits $v0)           
68 if_ual43: emit c72           --> if_ual42          
69 if_ual42: li    %20, 0       --> if_ual41          
70 if_ual41: li    %21, 1       --> if_ual40          
71 if_ual40: seq   %19, %0, %21 --> if_ual39          
72 if_ual39: beq   %19, %20     --> if_ual36, if_ual38
73 if_ual38: emit c71           --> if_ual37          
74 if_ual37: subu  %3, %1, %2   --> if_ual2           
75 if_ual36: emit c70           --> if_ual35          
76 if_ual35: li    %17, 0       --> if_ual34          
77 if_ual34: li    %18, 2       --> if_ual33          
78 if_ual33: seq   %16, %0, %18 --> if_ual32          
79 if_ual32: beq   %16, %17     --> if_ual19, if_ual31
80 if_ual31: emit c69           --> if_ual30          
81 if_ual30: li    %15, 0       --> if_ual29          
82 if_ual29: emit c68           --> if_ual28          
83 if_ual28: move  %14, %1      --> if_ual27          
84 if_ual27: beq   %14, %15     --> if_ual20, if_ual26
85 if_ual26: li    %13, 0       --> if_ual25          
86 if_ual25: emit c67           --> if_ual24          
87 if_ual24: move  %12, %2      --> if_ual23          
88 if_ual23: beq   %12, %13     --> if_ual21, if_ual22
89 if_ual22: li    %3, 1        --> if_ual2           
90 if_ual21: li    %3, 0        --> if_ual2           
91 if_ual20: li    %3, 0        --> if_ual2           
92 if_ual19: emit c66           --> if_ual18          
93 if_ual18: li    %10, 0       --> if_ual17          
94 if_ual17: li    %11, 3       --> if_ual16          
95 if_ual16: seq   %9, %0, %11  --> if_ual15          
96 if_ual15: beq   %9, %10      --> if_ual2, if_ual14 
97 if_ual14: emit c65           --> if_ual13          
98 if_ual13: li    %8, 0        --> if_ual12          
99 if_ual12: emit c64           --> if_ual11          
100 if_ual11: move  %7, %1       --> if_ual10          
101 if_ual10: beq   %7, %8       --> if_ual8, if_ual9  
102 if_ual9 : li    %3, 1        --> if_ual2           
103 if_ual8 : li    %6, 0        --> if_ual7           
104 if_ual7 : emit c63           --> if_ual6           
105 if_ual6 : move  %5, %2       --> if_ual5           
106 if_ual5 : beq   %5, %6       --> if_ual3, if_ual4  
107 if_ual4 : li    %3, 1        --> if_ual2           
108 if_ual3 : li    %3, 0        --> if_ual2           
109
110 procedure if_test(4)
111 var %0, %1, %2, %3, %4, %5, %6, 
112     %7, %8, %9, %10, %11, %12, %13, 
113     %14, %15, %16, %17, %18, %19, %20, 
114     %21, %22, %23
115 entry if_test55
116 if_test55: newframe          --> if_test54           
117 if_test54: move  %23, $ra    --> if_test53           
118 if_test53: move  %22, $s7    --> if_test52           
119 if_test52: move  %21, $s6    --> if_test51           
120 if_test51: move  %20, $s5    --> if_test50           
121 if_test50: move  %19, $s4    --> if_test49           
122 if_test49: move  %18, $s3    --> if_test48           
123 if_test48: move  %17, $s2    --> if_test47           
124 if_test47: move  %16, $s1    --> if_test46           
125 if_test46: move  %15, $s0    --> if_test45           
126 if_test45: move  %0, $a0     --> if_test44           
127 if_test44: move  %1, $a1     --> if_test43           
128 if_test43: move  %2, $a2     --> if_test42           
129 if_test42: move  %3, $a3     --> if_test41           
130 if_test41: li    %4, 0       --> if_test40           
131 if_test40: li    %5, 0       --> if_test39           
132 if_test39: li    %6, 0       --> if_test38           
133 if_test38: li    %7, 0       --> if_test37           
134 if_test37: li    %8, 0       --> if_test36           
135 if_test36: li    %10, 0      --> if_test35           
136 if_test35: li    %11, 0      --> if_test34           
137 if_test34: li    %12, 0      --> if_test33           
138 if_test33: li    %13, 0      --> if_test32           
139 if_test32: li    %14, 0      --> if_test31           
140 if_test31: emit c61          --> if_test30           
141 if_test30: li    %4, 0       --> if_test29           
142 if_test29: emit c60          --> if_test28           
143 if_test28: li    %5, 0       --> if_test27           
144 if_test27: emit c59          --> if_test26           
145 if_test26: li    %6, 0       --> if_test25           
146 if_test25: emit c58          --> if_test24           
147 if_test24: li    %7, 0       --> if_test23           
148 if_test23: emit c57          --> if_test22           
149 if_test22: li    %8, 0       --> if_test21           
150 if_test21: emit c56          --> if_test20           
151 if_test20: li    %14, 0      --> if_test19           
152 if_test19: slt   %13, %0, %1 --> if_test18           
153 if_test18: beq   %13, %14    --> if_test15, if_test17
154 if_test17: emit c55          --> if_test16           
155 if_test16: addu  %4, %0, %1  --> if_test15           
156 if_test15: emit c54          --> if_test14           
157 if_test14: li    %12, 0      --> if_test13           
158 if_test13: slt   %11, %2, %3 --> if_test12           
159 if_test12: beq   %11, %12    --> if_test7, if_test11 
160 if_test11: emit c53          --> if_test10           
161 if_test10: addu  %8, %2, %3  --> if_test9            
162 if_test9 : emit c52          --> if_test8            
163 if_test8 : addu  %7, %8, %2  --> if_test7            
164 if_test7 : emit c51          --> if_test6            
165 if_test6 : li    %10, 1      --> if_test5            
166 if_test5 : addu  %5, %4, %10 --> if_test4            
167 if_test4 : emit c50          --> if_test3            
168 if_test3 : addu  %6, %4, %7  --> if_test2            
169 if_test2 : emit c49          --> if_test1            
170 if_test1 : move  %9, %4      --> if_test0            
171 if_test0 : j                 --> if_test67           
172 if_test67: move  $v0, %9     --> if_test66           
173 if_test66: move  $ra, %23    --> if_test65           
174 if_test65: move  $s7, %22    --> if_test64           
175 if_test64: move  $s6, %21    --> if_test63           
176 if_test63: move  $s5, %20    --> if_test62           
177 if_test62: move  $s4, %19    --> if_test61           
178 if_test61: move  $s3, %18    --> if_test60           
179 if_test60: move  $s2, %17    --> if_test59           
180 if_test59: move  $s1, %16    --> if_test58           
181 if_test58: move  $s0, %15    --> if_test57           
182 if_test57: delframe          --> if_test56           
183 if_test56: jr    $ra         (xmits $v0)             
184
185 procedure if_sansElse(2)
186 var %0, %1, %2, %3, %4, %5, %6, 
187     %7, %8, %9, %10, %11, %12, %13, 
188     %14
189 entry if_sansElse25
190 if_sansElse25: newframe         --> if_sansElse24             
191 if_sansElse24: move  %14, $ra   --> if_sansElse23             
192 if_sansElse23: move  %13, $s7   --> if_sansElse22             
193 if_sansElse22: move  %12, $s6   --> if_sansElse21             
194 if_sansElse21: move  %11, $s5   --> if_sansElse20             
195 if_sansElse20: move  %10, $s4   --> if_sansElse19             
196 if_sansElse19: move  %9, $s3    --> if_sansElse18             
197 if_sansElse18: move  %8, $s2    --> if_sansElse17             
198 if_sansElse17: move  %7, $s1    --> if_sansElse16             
199 if_sansElse16: move  %6, $s0    --> if_sansElse15             
200 if_sansElse15: move  %0, $a0    --> if_sansElse14             
201 if_sansElse14: move  %1, $a1    --> if_sansElse13             
202 if_sansElse13: li    %2, 0      --> if_sansElse12             
203 if_sansElse12: li    %4, 0      --> if_sansElse11             
204 if_sansElse11: li    %5, 0      --> if_sansElse10             
205 if_sansElse10: emit c48         --> if_sansElse9              
206 if_sansElse9 : li    %2, 0      --> if_sansElse8              
207 if_sansElse8 : emit c47         --> if_sansElse7              
208 if_sansElse7 : li    %5, 0      --> if_sansElse6              
209 if_sansElse6 : slt   %4, %0, %1 --> if_sansElse5              
210 if_sansElse5 : beq   %4, %5     --> if_sansElse2, if_sansElse4
211 if_sansElse4 : emit c46         --> if_sansElse3              
212 if_sansElse3 : move  %2, %0     --> if_sansElse2              
213 if_sansElse2 : emit c45         --> if_sansElse1              
214 if_sansElse1 : move  %3, %2     --> if_sansElse0              
215 if_sansElse0 : j                --> if_sansElse37             
216 if_sansElse37: move  $v0, %3    --> if_sansElse36             
217 if_sansElse36: move  $ra, %14   --> if_sansElse35             
218 if_sansElse35: move  $s7, %13   --> if_sansElse34             
219 if_sansElse34: move  $s6, %12   --> if_sansElse33             
220 if_sansElse33: move  $s5, %11   --> if_sansElse32             
221 if_sansElse32: move  $s4, %10   --> if_sansElse31             
222 if_sansElse31: move  $s3, %9    --> if_sansElse30             
223 if_sansElse30: move  $s2, %8    --> if_sansElse29             
224 if_sansElse29: move  $s1, %7    --> if_sansElse28             
225 if_sansElse28: move  $s0, %6    --> if_sansElse27             
226 if_sansElse27: delframe         --> if_sansElse26             
227 if_sansElse26: jr    $ra        (xmits $v0)                   
228
229 procedure if_prog(2)
230 var %0, %1, %2, %3, %4, %5, %6, 
231     %7, %8, %9, %10, %11, %12, %13, 
232     %14, %15, %16
233 entry if_prog30
234 if_prog30: newframe         --> if_prog29         
235 if_prog29: move  %16, $ra   --> if_prog28         
236 if_prog28: move  %15, $s7   --> if_prog27         
237 if_prog27: move  %14, $s6   --> if_prog26         
238 if_prog26: move  %13, $s5   --> if_prog25         
239 if_prog25: move  %12, $s4   --> if_prog24         
240 if_prog24: move  %11, $s3   --> if_prog23         
241 if_prog23: move  %10, $s2   --> if_prog22         
242 if_prog22: move  %9, $s1    --> if_prog21         
243 if_prog21: move  %8, $s0    --> if_prog20         
244 if_prog20: move  %0, $a0    --> if_prog19         
245 if_prog19: move  %1, $a1    --> if_prog18         
246 if_prog18: li    %2, 0      --> if_prog17         
247 if_prog17: li    %3, 0      --> if_prog16         
248 if_prog16: li    %5, 0      --> if_prog15         
249 if_prog15: li    %6, 0      --> if_prog14         
250 if_prog14: li    %7, 0      --> if_prog13         
251 if_prog13: emit c44         --> if_prog12         
252 if_prog12: addu  %2, %1, %0 --> if_prog11         
253 if_prog11: emit c43         --> if_prog10         
254 if_prog10: li    %6, 0      --> if_prog9          
255 if_prog9 : li    %7, 0      --> if_prog8          
256 if_prog8 : slt   %5, %2, %7 --> if_prog7          
257 if_prog7 : beq   %5, %6     --> if_prog4, if_prog6
258 if_prog6 : emit c42         --> if_prog5          
259 if_prog5 : li    %3, 2      --> if_prog2          
260 if_prog2 : emit c40         --> if_prog1          
261 if_prog1 : move  %4, %3     --> if_prog0          
262 if_prog0 : j                --> if_prog42         
263 if_prog42: move  $v0, %4    --> if_prog41         
264 if_prog41: move  $ra, %16   --> if_prog40         
265 if_prog40: move  $s7, %15   --> if_prog39         
266 if_prog39: move  $s6, %14   --> if_prog38         
267 if_prog38: move  $s5, %13   --> if_prog37         
268 if_prog37: move  $s4, %12   --> if_prog36         
269 if_prog36: move  $s3, %11   --> if_prog35         
270 if_prog35: move  $s2, %10   --> if_prog34         
271 if_prog34: move  $s1, %9    --> if_prog33         
272 if_prog33: move  $s0, %8    --> if_prog32         
273 if_prog32: delframe         --> if_prog31         
274 if_prog31: jr    $ra        (xmits $v0)           
275 if_prog4 : emit c41         --> if_prog3          
276 if_prog3 : li    %3, 3      --> if_prog2          
277
278 procedure if_min(2)
279 var %0, %1, %2, %3, %4, %5, %6, 
280     %7, %8, %9, %10, %11, %12, %13, 
281     %14
282 entry if_min25
283 if_min25: newframe         --> if_min24        
284 if_min24: move  %14, $ra   --> if_min23        
285 if_min23: move  %13, $s7   --> if_min22        
286 if_min22: move  %12, $s6   --> if_min21        
287 if_min21: move  %11, $s5   --> if_min20        
288 if_min20: move  %10, $s4   --> if_min19        
289 if_min19: move  %9, $s3    --> if_min18        
290 if_min18: move  %8, $s2    --> if_min17        
291 if_min17: move  %7, $s1    --> if_min16        
292 if_min16: move  %6, $s0    --> if_min15        
293 if_min15: move  %0, $a0    --> if_min14        
294 if_min14: move  %1, $a1    --> if_min13        
295 if_min13: li    %2, 0      --> if_min12        
296 if_min12: li    %4, 0      --> if_min11        
297 if_min11: li    %5, 0      --> if_min10        
298 if_min10: emit c39         --> if_min9         
299 if_min9 : li    %5, 0      --> if_min8         
300 if_min8 : sgt   %4, %0, %1 --> if_min7         
301 if_min7 : beq   %4, %5     --> if_min4, if_min6
302 if_min6 : emit c38         --> if_min5         
303 if_min5 : move  %2, %1     --> if_min2         
304 if_min2 : emit c36         --> if_min1         
305 if_min1 : move  %3, %2     --> if_min0         
306 if_min0 : j                --> if_min37        
307 if_min37: move  $v0, %3    --> if_min36        
308 if_min36: move  $ra, %14   --> if_min35        
309 if_min35: move  $s7, %13   --> if_min34        
310 if_min34: move  $s6, %12   --> if_min33        
311 if_min33: move  $s5, %11   --> if_min32        
312 if_min32: move  $s4, %10   --> if_min31        
313 if_min31: move  $s3, %9    --> if_min30        
314 if_min30: move  $s2, %8    --> if_min29        
315 if_min29: move  $s1, %7    --> if_min28        
316 if_min28: move  $s0, %6    --> if_min27        
317 if_min27: delframe         --> if_min26        
318 if_min26: jr    $ra        (xmits $v0)         
319 if_min4 : emit c37         --> if_min3         
320 if_min3 : move  %2, %0     --> if_min2         
321
322 procedure if_jian(9)
323 var %0, %1, %2, %3, %4, %5, %6, 
324     %7, %8, %9, %10, %11, %12, %13, 
325     %14, %15, %16, %17, %18, %19, %20, 
326     %21, %22, %23, %24, %25, %26, %27, 
327     %28, %29, %30, %31, %32, %33, %34, 
328     %35, %36, %37, %38, %39, %40, %41
329 entry if_jian92
330 if_jian92 : newframe            --> if_jian91           
331 if_jian91 : move  %41, $ra      --> if_jian90           
332 if_jian90 : move  %40, $s7      --> if_jian89           
333 if_jian89 : move  %39, $s6      --> if_jian88           
334 if_jian88 : move  %38, $s5      --> if_jian87           
335 if_jian87 : move  %37, $s4      --> if_jian86           
336 if_jian86 : move  %36, $s3      --> if_jian85           
337 if_jian85 : move  %35, $s2      --> if_jian84           
338 if_jian84 : move  %34, $s1      --> if_jian83           
339 if_jian83 : move  %33, $s0      --> if_jian82           
340 if_jian82 : move  %0, $a0       --> if_jian81           
341 if_jian81 : move  %1, $a1       --> if_jian80           
342 if_jian80 : move  %2, $a2       --> if_jian79           
343 if_jian79 : move  %3, $a3       --> if_jian78           
344 if_jian78 : gets  %4, in(16)    --> if_jian77           
345 if_jian77 : gets  %5, in(12)    --> if_jian76           
346 if_jian76 : gets  %6, in(8)     --> if_jian75           
347 if_jian75 : gets  %7, in(4)     --> if_jian74           
348 if_jian74 : gets  %8, in(0)     --> if_jian73           
349 if_jian73 : li    %9, 0         --> if_jian72           
350 if_jian72 : li    %10, 0        --> if_jian71           
351 if_jian71 : li    %11, 0        --> if_jian70           
352 if_jian70 : li    %12, 0        --> if_jian69           
353 if_jian69 : li    %13, 0        --> if_jian68           
354 if_jian68 : li    %14, 0        --> if_jian67           
355 if_jian67 : li    %15, 0        --> if_jian66           
356 if_jian66 : li    %17, 0        --> if_jian65           
357 if_jian65 : li    %18, 0        --> if_jian64           
358 if_jian64 : li    %19, 0        --> if_jian63           
359 if_jian63 : li    %20, 0        --> if_jian62           
360 if_jian62 : li    %21, 0        --> if_jian61           
361 if_jian61 : li    %22, 0        --> if_jian60           
362 if_jian60 : li    %23, 0        --> if_jian59           
363 if_jian59 : li    %24, 0        --> if_jian58           
364 if_jian58 : li    %25, 0        --> if_jian57           
365 if_jian57 : li    %26, 0        --> if_jian56           
366 if_jian56 : li    %27, 0        --> if_jian55           
367 if_jian55 : li    %28, 0        --> if_jian54           
368 if_jian54 : li    %29, 0        --> if_jian53           
369 if_jian53 : li    %30, 0        --> if_jian52           
370 if_jian52 : li    %31, 0        --> if_jian51           
371 if_jian51 : li    %32, 0        --> if_jian48           
372 if_jian48 : emit c15            --> if_jian47           
373 if_jian47 : addu  %30, %0, %1   --> if_jian46           
374 if_jian46 : slt   %11, %30, %2  --> if_jian45           
375 if_jian45 : emit c14            --> if_jian44           
376 if_jian44 : addu  %12, %3, %4   --> if_jian43           
377 if_jian43 : emit c13            --> if_jian42           
378 if_jian42 : li    %29, 1        --> if_jian41           
379 if_jian41 : addu  %13, %2, %29  --> if_jian40           
380 if_jian40 : emit c12            --> if_jian39           
381 if_jian39 : li    %27, 0        --> if_jian38           
382 if_jian38 : li    %28, 1        --> if_jian37           
383 if_jian37 : seq   %26, %8, %28  --> if_jian36           
384 if_jian36 : beq   %26, %27      --> if_jian8, if_jian35 
385 if_jian35 : emit c11            --> if_jian34           
386 if_jian34 : li    %25, 0        --> if_jian33           
387 if_jian33 : beq   %11, %25      --> if_jian30, if_jian32
388 if_jian32 : emit c10            --> if_jian31           
389 if_jian31 : addu  %9, %13, %3   --> if_jian24           
390 if_jian24 : emit c7             --> if_jian23           
391 if_jian23 : li    %18, 0        --> if_jian22           
392 if_jian22 : li    %22, 0        --> if_jian21           
393 if_jian21 : emit c6             --> if_jian20           
394 if_jian20 : li    %31, 0        --> if_jian49           
395 if_jian49 : seq   %21, %11, %31 --> if_jian19           
396 if_jian19 : beq   %21, %22      --> if_jian12, if_jian18
397 if_jian18 : li    %20, 0        --> if_jian17           
398 if_jian17 : emit c5             --> if_jian16           
399 if_jian16 : move  %19, %7       --> if_jian15           
400 if_jian15 : beq   %19, %20      --> if_jian13, if_jian14
401 if_jian14 : li    %17, 1        --> if_jian11           
402 if_jian11 : beq   %17, %18      --> if_jian2, if_jian10 
403 if_jian10 : emit c4             --> if_jian9            
404 if_jian9  : addu  %10, %12, %4  --> if_jian2            
405 if_jian2  : emit c0             --> if_jian1            
406 if_jian1  : move  %16, %9       --> if_jian0            
407 if_jian0  : j                   --> if_jian104          
408 if_jian104: move  $v0, %16      --> if_jian103          
409 if_jian103: move  $ra, %41      --> if_jian102          
410 if_jian102: move  $s7, %40      --> if_jian101          
411 if_jian101: move  $s6, %39      --> if_jian100          
412 if_jian100: move  $s5, %38      --> if_jian99           
413 if_jian99 : move  $s4, %37      --> if_jian98           
414 if_jian98 : move  $s3, %36      --> if_jian97           
415 if_jian97 : move  $s2, %35      --> if_jian96           
416 if_jian96 : move  $s1, %34      --> if_jian95           
417 if_jian95 : move  $s0, %33      --> if_jian94           
418 if_jian94 : delframe            --> if_jian93           
419 if_jian93 : jr    $ra           (xmits $v0)             
420 if_jian13 : li    %17, 0        --> if_jian11           
421 if_jian12 : li    %17, 0        --> if_jian11           
422 if_jian30 : emit c9             --> if_jian29           
423 if_jian29 : li    %24, 0        --> if_jian28           
424 if_jian28 : li    %32, 0        --> if_jian50           
425 if_jian50 : seq   %23, %7, %32  --> if_jian27           
426 if_jian27 : beq   %23, %24      --> if_jian24, if_jian26
427 if_jian26 : emit c8             --> if_jian25           
428 if_jian25 : addu  %9, %12, %3   --> if_jian24           
429 if_jian8  : emit c3             --> if_jian7            
430 if_jian7  : addu  %14, %13, %4  --> if_jian6            
431 if_jian6  : emit c2             --> if_jian5            
432 if_jian5  : addu  %15, %14, %5  --> if_jian4            
433 if_jian4  : emit c1             --> if_jian3            
434 if_jian3  : addu  %9, %15, %6   --> if_jian2            
435
436 procedure if_imbriq2(3)
437 var %0, %1, %2, %3, %4, %5, %6, 
438     %7, %8, %9, %10, %11, %12, %13, 
439     %14, %15, %16, %17
440 entry if_imbriq234
441 if_imbriq234: newframe         --> if_imbriq233             
442 if_imbriq233: move  %17, $ra   --> if_imbriq232             
443 if_imbriq232: move  %16, $s7   --> if_imbriq231             
444 if_imbriq231: move  %15, $s6   --> if_imbriq230             
445 if_imbriq230: move  %14, $s5   --> if_imbriq229             
446 if_imbriq229: move  %13, $s4   --> if_imbriq228             
447 if_imbriq228: move  %12, $s3   --> if_imbriq227             
448 if_imbriq227: move  %11, $s2   --> if_imbriq226             
449 if_imbriq226: move  %10, $s1   --> if_imbriq225             
450 if_imbriq225: move  %9, $s0    --> if_imbriq224             
451 if_imbriq224: move  %0, $a0    --> if_imbriq223             
452 if_imbriq223: move  %1, $a1    --> if_imbriq222             
453 if_imbriq222: move  %2, $a2    --> if_imbriq221             
454 if_imbriq221: li    %3, 0      --> if_imbriq220             
455 if_imbriq220: li    %5, 0      --> if_imbriq219             
456 if_imbriq219: li    %6, 0      --> if_imbriq218             
457 if_imbriq218: li    %7, 0      --> if_imbriq217             
458 if_imbriq217: li    %8, 0      --> if_imbriq216             
459 if_imbriq216: emit c35         --> if_imbriq215             
460 if_imbriq215: li    %8, 0      --> if_imbriq214             
461 if_imbriq214: slt   %7, %0, %1 --> if_imbriq213             
462 if_imbriq213: beq   %7, %8     --> if_imbriq24, if_imbriq212
463 if_imbriq212: emit c34         --> if_imbriq211             
464 if_imbriq211: li    %6, 0      --> if_imbriq210             
465 if_imbriq210: slt   %5, %1, %2 --> if_imbriq29              
466 if_imbriq29 : beq   %5, %6     --> if_imbriq26, if_imbriq28 
467 if_imbriq28 : emit c33         --> if_imbriq27              
468 if_imbriq27 : move  %3, %1     --> if_imbriq22              
469 if_imbriq22 : emit c30         --> if_imbriq21              
470 if_imbriq21 : move  %4, %3     --> if_imbriq20              
471 if_imbriq20 : j                --> if_imbriq246             
472 if_imbriq246: move  $v0, %4    --> if_imbriq245             
473 if_imbriq245: move  $ra, %17   --> if_imbriq244             
474 if_imbriq244: move  $s7, %16   --> if_imbriq243             
475 if_imbriq243: move  $s6, %15   --> if_imbriq242             
476 if_imbriq242: move  $s5, %14   --> if_imbriq241             
477 if_imbriq241: move  $s4, %13   --> if_imbriq240             
478 if_imbriq240: move  $s3, %12   --> if_imbriq239             
479 if_imbriq239: move  $s2, %11   --> if_imbriq238             
480 if_imbriq238: move  $s1, %10   --> if_imbriq237             
481 if_imbriq237: move  $s0, %9    --> if_imbriq236             
482 if_imbriq236: delframe         --> if_imbriq235             
483 if_imbriq235: jr    $ra        (xmits $v0)                  
484 if_imbriq26 : emit c32         --> if_imbriq25              
485 if_imbriq25 : li    %3, 47     --> if_imbriq22              
486 if_imbriq24 : emit c31         --> if_imbriq23              
487 if_imbriq23 : move  %3, %0     --> if_imbriq22              
488
489 procedure if_imbriq1(3)
490 var %0, %1, %2, %3, %4, %5, %6, 
491     %7, %8, %9, %10, %11, %12, %13, 
492     %14, %15, %16, %17
493 entry if_imbriq134
494 if_imbriq134: newframe         --> if_imbriq133             
495 if_imbriq133: move  %17, $ra   --> if_imbriq132             
496 if_imbriq132: move  %16, $s7   --> if_imbriq131             
497 if_imbriq131: move  %15, $s6   --> if_imbriq130             
498 if_imbriq130: move  %14, $s5   --> if_imbriq129             
499 if_imbriq129: move  %13, $s4   --> if_imbriq128             
500 if_imbriq128: move  %12, $s3   --> if_imbriq127             
501 if_imbriq127: move  %11, $s2   --> if_imbriq126             
502 if_imbriq126: move  %10, $s1   --> if_imbriq125             
503 if_imbriq125: move  %9, $s0    --> if_imbriq124             
504 if_imbriq124: move  %0, $a0    --> if_imbriq123             
505 if_imbriq123: move  %1, $a1    --> if_imbriq122             
506 if_imbriq122: move  %2, $a2    --> if_imbriq121             
507 if_imbriq121: li    %3, 0      --> if_imbriq120             
508 if_imbriq120: li    %5, 0      --> if_imbriq119             
509 if_imbriq119: li    %6, 0      --> if_imbriq118             
510 if_imbriq118: li    %7, 0      --> if_imbriq117             
511 if_imbriq117: li    %8, 0      --> if_imbriq116             
512 if_imbriq116: emit c29         --> if_imbriq115             
513 if_imbriq115: li    %8, 0      --> if_imbriq114             
514 if_imbriq114: slt   %7, %0, %1 --> if_imbriq113             
515 if_imbriq113: beq   %7, %8     --> if_imbriq14, if_imbriq112
516 if_imbriq112: emit c28         --> if_imbriq111             
517 if_imbriq111: li    %6, 0      --> if_imbriq110             
518 if_imbriq110: slt   %5, %1, %2 --> if_imbriq19              
519 if_imbriq19 : beq   %5, %6     --> if_imbriq16, if_imbriq18 
520 if_imbriq18 : emit c27         --> if_imbriq17              
521 if_imbriq17 : move  %3, %1     --> if_imbriq12              
522 if_imbriq12 : emit c24         --> if_imbriq11              
523 if_imbriq11 : move  %4, %3     --> if_imbriq10              
524 if_imbriq10 : j                --> if_imbriq146             
525 if_imbriq146: move  $v0, %4    --> if_imbriq145             
526 if_imbriq145: move  $ra, %17   --> if_imbriq144             
527 if_imbriq144: move  $s7, %16   --> if_imbriq143             
528 if_imbriq143: move  $s6, %15   --> if_imbriq142             
529 if_imbriq142: move  $s5, %14   --> if_imbriq141             
530 if_imbriq141: move  $s4, %13   --> if_imbriq140             
531 if_imbriq140: move  $s3, %12   --> if_imbriq139             
532 if_imbriq139: move  $s2, %11   --> if_imbriq138             
533 if_imbriq138: move  $s1, %10   --> if_imbriq137             
534 if_imbriq137: move  $s0, %9    --> if_imbriq136             
535 if_imbriq136: delframe         --> if_imbriq135             
536 if_imbriq135: jr    $ra        (xmits $v0)                  
537 if_imbriq16 : emit c26         --> if_imbriq15              
538 if_imbriq15 : move  %3, %2     --> if_imbriq12              
539 if_imbriq14 : emit c25         --> if_imbriq13              
540 if_imbriq13 : move  %3, %0     --> if_imbriq12              
541
542 procedure if_exSimple(2)
543 var %0, %1, %2, %3, %4, %5, %6, 
544     %7, %8, %9, %10, %11, %12, %13, 
545     %14, %15, %16, %17, %18
546 entry if_exSimple39
547 if_exSimple39: newframe         --> if_exSimple38              
548 if_exSimple38: move  %18, $ra   --> if_exSimple37              
549 if_exSimple37: move  %17, $s7   --> if_exSimple36              
550 if_exSimple36: move  %16, $s6   --> if_exSimple35              
551 if_exSimple35: move  %15, $s5   --> if_exSimple34              
552 if_exSimple34: move  %14, $s4   --> if_exSimple33              
553 if_exSimple33: move  %13, $s3   --> if_exSimple32              
554 if_exSimple32: move  %12, $s2   --> if_exSimple31              
555 if_exSimple31: move  %11, $s1   --> if_exSimple30              
556 if_exSimple30: move  %10, $s0   --> if_exSimple29              
557 if_exSimple29: move  %0, $a0    --> if_exSimple28              
558 if_exSimple28: move  %1, $a1    --> if_exSimple27              
559 if_exSimple27: li    %2, 0      --> if_exSimple26              
560 if_exSimple26: li    %3, 0      --> if_exSimple25              
561 if_exSimple25: li    %4, 0      --> if_exSimple24              
562 if_exSimple24: li    %6, 0      --> if_exSimple23              
563 if_exSimple23: li    %7, 0      --> if_exSimple22              
564 if_exSimple22: li    %8, 0      --> if_exSimple21              
565 if_exSimple21: li    %9, 0      --> if_exSimple20              
566 if_exSimple20: emit c23         --> if_exSimple19              
567 if_exSimple19: li    %9, 0      --> if_exSimple18              
568 if_exSimple18: slt   %8, %0, %1 --> if_exSimple17              
569 if_exSimple17: beq   %8, %9     --> if_exSimple9, if_exSimple16
570 if_exSimple16: emit c22         --> if_exSimple15              
571 if_exSimple15: addu  %3, %0, %1 --> if_exSimple14              
572 if_exSimple14: emit c21         --> if_exSimple13              
573 if_exSimple13: li    %7, 2      --> if_exSimple12              
574 if_exSimple12: mul   %3, %7, %3 --> if_exSimple11              
575 if_exSimple11: emit c20         --> if_exSimple10              
576 if_exSimple10: move  %2, %3     --> if_exSimple2               
577 if_exSimple2 : emit c16         --> if_exSimple1               
578 if_exSimple1 : move  %5, %2     --> if_exSimple0               
579 if_exSimple0 : j                --> if_exSimple51              
580 if_exSimple51: move  $v0, %5    --> if_exSimple50              
581 if_exSimple50: move  $ra, %18   --> if_exSimple49              
582 if_exSimple49: move  $s7, %17   --> if_exSimple48              
583 if_exSimple48: move  $s6, %16   --> if_exSimple47              
584 if_exSimple47: move  $s5, %15   --> if_exSimple46              
585 if_exSimple46: move  $s4, %14   --> if_exSimple45              
586 if_exSimple45: move  $s3, %13   --> if_exSimple44              
587 if_exSimple44: move  $s2, %12   --> if_exSimple43              
588 if_exSimple43: move  $s1, %11   --> if_exSimple42              
589 if_exSimple42: move  $s0, %10   --> if_exSimple41              
590 if_exSimple41: delframe         --> if_exSimple40              
591 if_exSimple40: jr    $ra        (xmits $v0)                    
592 if_exSimple9 : emit c19         --> if_exSimple8               
593 if_exSimple8 : li    %6, 2      --> if_exSimple7               
594 if_exSimple7 : mul   %4, %6, %1 --> if_exSimple6               
595 if_exSimple6 : emit c18         --> if_exSimple5               
596 if_exSimple5 : addu  %4, %4, %0 --> if_exSimple4               
597 if_exSimple4 : emit c17         --> if_exSimple3               
598 if_exSimple3 : addu  %2, %4, %1 --> if_exSimple2               
599
600 procedure _main(0)
601 var %0, %1, %2, %3, %4, %5, %6, 
602     %7, %8, %9, %10, %11, %12, %13, 
603     %14, %15, %16, %17, %18, %19, %20, 
604     %21, %22, %23, %24, %25, %26, %27, 
605     %28, %29, %30, %31, %32, %33, %34, 
606     %35, %36, %37, %38, %39, %40
607 entry main91
608 main91 : newframe             --> main90 
609 main90 : move  %40, $ra       --> main89 
610 main89 : move  %39, $s7       --> main88 
611 main88 : move  %38, $s6       --> main87 
612 main87 : move  %37, $s5       --> main86 
613 main86 : move  %36, $s4       --> main85 
614 main85 : move  %35, $s3       --> main84 
615 main84 : move  %34, $s2       --> main83 
616 main83 : move  %33, $s1       --> main82 
617 main82 : move  %32, $s0       --> main81 
618 main81 : li    %0, 0          --> main80 
619 main80 : li    %2, 0          --> main79 
620 main79 : li    %3, 0          --> main78 
621 main78 : li    %4, 0          --> main77 
622 main77 : li    %5, 0          --> main76 
623 main76 : li    %6, 0          --> main75 
624 main75 : li    %7, 0          --> main74 
625 main74 : li    %8, 0          --> main73 
626 main73 : li    %9, 0          --> main72 
627 main72 : li    %10, 0         --> main71 
628 main71 : li    %11, 0         --> main70 
629 main70 : li    %12, 0         --> main69 
630 main69 : li    %13, 0         --> main68 
631 main68 : li    %14, 0         --> main67 
632 main67 : li    %15, 0         --> main66 
633 main66 : li    %16, 0         --> main65 
634 main65 : li    %17, 0         --> main64 
635 main64 : li    %18, 0         --> main63 
636 main63 : li    %19, 0         --> main62 
637 main62 : li    %20, 0         --> main61 
638 main61 : li    %21, 0         --> main60 
639 main60 : li    %22, 0         --> main59 
640 main59 : li    %23, 0         --> main58 
641 main58 : li    %24, 0         --> main57 
642 main57 : li    %25, 0         --> main56 
643 main56 : li    %26, 0         --> main55 
644 main55 : li    %27, 0         --> main54 
645 main54 : li    %28, 0         --> main53 
646 main53 : li    %29, 0         --> main52 
647 main52 : li    %30, 0         --> main51 
648 main51 : li    %31, 0         --> main50 
649 main50 : emit c84             --> main49 
650 main49 : li    %23, 1         --> main48 
651 main48 : li    %24, 2         --> main47 
652 main47 : li    %25, 3         --> main46 
653 main46 : li    %26, 4         --> main45 
654 main45 : li    %27, 5         --> main44 
655 main44 : li    %28, 6         --> main43 
656 main43 : li    %29, 7         --> main42 
657 main42 : li    %30, 8         --> main41 
658 main41 : li    %31, 9         --> main40 
659 main40 : j                    --> main145
660 main145: move  $a0, %23       --> main144
661 main144: move  $a1, %24       --> main143
662 main143: move  $a2, %25       --> main142
663 main142: move  $a3, %26       --> main141
664 main141: sets  out(16), %27   --> main140
665 main140: sets  out(12), %28   --> main139
666 main139: sets  out(8), %29    --> main138
667 main138: sets  out(4), %30    --> main137
668 main137: sets  out(0), %31    --> main136
669 main136: call  if_jian(9)     --> main135
670 main135: move  %0, $v0        --> main39 
671 main39 : emit c83             --> main38 
672 main38 : li    %21, 1         --> main37 
673 main37 : li    %22, 2         --> main36 
674 main36 : j                    --> main134
675 main134: move  $a0, %21       --> main133
676 main133: move  $a1, %22       --> main132
677 main132: call  if_exSimple(2) --> main131
678 main131: move  %0, $v0        --> main35 
679 main35 : emit c82             --> main34 
680 main34 : li    %18, 1         --> main33 
681 main33 : li    %19, 2         --> main32 
682 main32 : li    %20, 3         --> main31 
683 main31 : j                    --> main130
684 main130: move  $a0, %18       --> main129
685 main129: move  $a1, %19       --> main128
686 main128: move  $a2, %20       --> main127
687 main127: call  if_imbriq1(3)  --> main126
688 main126: move  %0, $v0        --> main30 
689 main30 : emit c81             --> main29 
690 main29 : li    %15, 1         --> main28 
691 main28 : li    %16, 2         --> main27 
692 main27 : li    %17, 3         --> main26 
693 main26 : j                    --> main120
694 main120: move  $a0, %15       --> main119
695 main119: move  $a1, %16       --> main118
696 main118: move  $a2, %17       --> main117
697 main117: call  if_imbriq2(3)  --> main116
698 main116: move  %0, $v0        --> main25 
699 main25 : emit c80             --> main24 
700 main24 : li    %13, 1         --> main23 
701 main23 : li    %14, 2         --> main22 
702 main22 : j                    --> main115
703 main115: move  $a0, %13       --> main114
704 main114: move  $a1, %14       --> main113
705 main113: call  if_min(2)      --> main112
706 main112: move  %0, $v0        --> main21 
707 main21 : emit c79             --> main20 
708 main20 : li    %11, 1         --> main19 
709 main19 : li    %12, 2         --> main18 
710 main18 : j                    --> main111
711 main111: move  $a0, %11       --> main110
712 main110: move  $a1, %12       --> main109
713 main109: call  if_prog(2)     --> main108
714 main108: move  %0, $v0        --> main17 
715 main17 : emit c78             --> main16 
716 main16 : li    %9, 1          --> main15 
717 main15 : li    %10, 2         --> main14 
718 main14 : j                    --> main107
719 main107: move  $a0, %9        --> main106
720 main106: move  $a1, %10       --> main105
721 main105: call  if_sansElse(2) --> main104
722 main104: move  %0, $v0        --> main13 
723 main13 : emit c77             --> main12 
724 main12 : li    %5, 1          --> main11 
725 main11 : li    %6, 2          --> main10 
726 main10 : li    %7, 3          --> main9  
727 main9  : li    %8, 4          --> main8  
728 main8  : j                    --> main151
729 main151: move  $a0, %5        --> main150
730 main150: move  $a1, %6        --> main149
731 main149: move  $a2, %7        --> main148
732 main148: move  $a3, %8        --> main147
733 main147: call  if_test(4)     --> main146
734 main146: move  %0, $v0        --> main7  
735 main7  : emit c76             --> main6  
736 main6  : li    %2, 1          --> main5  
737 main5  : li    %3, 2          --> main4  
738 main4  : li    %4, 3          --> main3  
739 main3  : j                    --> main125
740 main125: move  $a0, %2        --> main124
741 main124: move  $a1, %3        --> main123
742 main123: move  $a2, %4        --> main122
743 main122: call  if_ual(3)      --> main121
744 main121: move  %0, $v0        --> main2  
745 main2  : emit c75             --> main1  
746 main1  : move  %1, %0         --> main0  
747 main0  : j                    --> main103
748 main103: move  $v0, %1        --> main102
749 main102: move  $ra, %40       --> main101
750 main101: move  $s7, %39       --> main100
751 main100: move  $s6, %38       --> main99 
752 main99 : move  $s5, %37       --> main98 
753 main98 : move  $s4, %36       --> main97 
754 main97 : move  $s3, %35       --> main96 
755 main96 : move  $s2, %34       --> main95 
756 main95 : move  $s1, %33       --> main94 
757 main94 : move  $s0, %32       --> main93 
758 main93 : delframe             --> main92 
759 main92 : jr    $ra            (xmits $v0)
760