]> matita.cs.unibo.it Git - pkg-cerco/acc.git/blob - tests/clight/complets.ASM.expected
Imported Upstream version 0.2
[pkg-cerco/acc.git] / tests / clight / complets.ASM.expected
1 # extern __builtin_varargs_start: int -> void
2 # extern __builtin_va_start: int -> int -> void
3 # extern __builtin_va_end: int -> void
4 # extern __builtin_va_copy: int -> int -> void
5 # extern __builtin_va_arg: int -> int -> void
6 # extern __builtin_types_compatible_p: int -> int -> int
7 # extern __builtin_tanl: float -> float
8 # extern __builtin_tanhl: float -> float
9 # extern __builtin_tanhf: float -> float
10 # extern __builtin_tanh: float -> float
11 # extern __builtin_tanf: float -> float
12 # extern __builtin_tan: float -> float
13 # extern __builtin_strspn: int -> int -> int
14 # extern __builtin_strpbrk: int -> int -> int
15 # extern __builtin_strncpy: int -> int -> int -> int
16 # extern __builtin_strncmp: int -> int -> int -> int
17 # extern __builtin_strncat: int -> int -> int -> int
18 # extern __builtin_strcspn: int -> int -> int
19 # extern __builtin_strcpy: int -> int -> int
20 # extern __builtin_strcmp: int -> int -> int
21 # extern __builtin_strchr: int -> int -> int
22 # extern __builtin_stpcpy: int -> int -> int
23 # extern __builtin_stdarg_start: int -> void
24 # extern __builtin_sqrtl: float -> float
25 # extern __builtin_sqrtf: float -> float
26 # extern __builtin_sqrt: float -> float
27 # extern __builtin_sinl: float -> float
28 # extern __builtin_sinhl: float -> float
29 # extern __builtin_sinhf: float -> float
30 # extern __builtin_sinh: float -> float
31 # extern __builtin_sinf: float -> float
32 # extern __builtin_sin: float -> float
33 # extern __builtin_return_address: int -> int
34 # extern __builtin_return: int -> void
35 # extern __builtin_powil: float -> int -> float
36 # extern __builtin_powif: float -> int -> float
37 # extern __builtin_powi: float -> int -> float
38 # extern __builtin_popcountll: int -> int
39 # extern __builtin_popcountl: int -> int
40 # extern __builtin_popcount: int -> int
41 # extern __builtin_parityll: int -> int
42 # extern __builtin_parityl: int -> int
43 # extern __builtin_parity: int -> int
44 # extern __builtin_object_size: int -> int -> int
45 # extern __builtin_next_arg: int
46 # extern __builtin_nansl: int -> float
47 # extern __builtin_nansf: int -> float
48 # extern __builtin_nans: int -> float
49 # extern __builtin_nanl: int -> float
50 # extern __builtin_nanf: int -> float
51 # extern __builtin_nan: int -> float
52 # extern __builtin_modfl: float -> int -> float
53 # extern __builtin_modff: float -> int -> float
54 # extern __builtin_mempcpy: int -> int -> int -> int
55 # extern __builtin_memcpy: int -> int -> int -> int
56 # extern __builtin_logl: float -> float
57 # extern __builtin_logf: float -> float
58 # extern __builtin_log10l: float -> float
59 # extern __builtin_log10f: float -> float
60 # extern __builtin_log10: float -> float
61 # extern __builtin_log: float -> float
62 # extern __builtin_ldexpl: float -> int -> float
63 # extern __builtin_ldexpf: float -> int -> float
64 # extern __builtin_ldexp: float -> int -> float
65 # extern __builtin_infl: float
66 # extern __builtin_inff: float
67 # extern __builtin_inf: float
68 # extern __builtin_huge_vall: float
69 # extern __builtin_huge_valf: float
70 # extern __builtin_huge_val: float
71 # extern __builtin_frexpl: float -> int -> float
72 # extern __builtin_frexpf: float -> int -> float
73 # extern __builtin_frexp: float -> int -> float
74 # extern __builtin_frame_address: int -> int
75 # extern __builtin_fmodl: float -> float
76 # extern __builtin_fmodf: float -> float
77 # extern __builtin_fmod: float -> float
78 # extern __builtin_floorl: float -> float
79 # extern __builtin_floorf: float -> float
80 # extern __builtin_floor: float -> float
81 # extern __builtin_ffsll: int -> int
82 # extern __builtin_ffsl: int -> int
83 # extern __builtin_ffs: int -> int
84 # extern __builtin_fabsl: float -> float
85 # extern __builtin_fabsf: float -> float
86 # extern __builtin_fabs: float -> float
87 # extern __builtin_expl: float -> float
88 # extern __builtin_expf: float -> float
89 # extern __builtin_expect: int -> int -> int
90 # extern __builtin_exp: float -> float
91 # extern __builtin_ctzll: int -> int
92 # extern __builtin_ctzl: int -> int
93 # extern __builtin_ctz: int -> int
94 # extern __builtin_cosl: float -> float
95 # extern __builtin_coshl: float -> float
96 # extern __builtin_coshf: float -> float
97 # extern __builtin_cosh: float -> float
98 # extern __builtin_cosf: float -> float
99 # extern __builtin_cos: float -> float
100 # extern __builtin_constant_p: int -> int
101 # extern __builtin_clzll: int -> int
102 # extern __builtin_clzl: int -> int
103 # extern __builtin_clz: int -> int
104 # extern __builtin_ceill: float -> float
105 # extern __builtin_ceilf: float -> float
106 # extern __builtin_ceil: float -> float
107 # extern __builtin_atanl: float -> float
108 # extern __builtin_atanf: float -> float
109 # extern __builtin_atan2l: float -> float -> float
110 # extern __builtin_atan2f: float -> float -> float
111 # extern __builtin_atan2: float -> float -> float
112 # extern __builtin_atan: float -> float
113 # extern __builtin_asinl: float -> float
114 # extern __builtin_asinf: float -> float
115 # extern __builtin_asin: float -> float
116 # extern __builtin_alloca: int -> int
117 # extern __builtin_acosl: float -> float
118 # extern __builtin_acosf: float -> float
119 # extern __builtin_acos: float -> float
120 # extern __builtin___vsprintf_chk: int -> int -> int -> int -> int -> int
121 # extern __builtin___vsnprintf_chk: int -> int -> int -> int -> int -> int -> int
122 # extern __builtin___vprintf_chk: int -> int -> int -> int
123 # extern __builtin___vfprintf_chk: int -> int -> int -> int -> int
124 # extern __builtin___strncpy_chk: int -> int -> int -> int -> int
125 # extern __builtin___strncat_chk: int -> int -> int -> int -> int
126 # extern __builtin___strcpy_chk: int -> int -> int -> int
127 # extern __builtin___strcat_chk: int -> int -> int -> int
128 # extern __builtin___stpcpy_chk: int -> int -> int -> int
129 # extern __builtin___memset_chk: int -> int -> int -> int -> int
130 # extern __builtin___mempcpy_chk: int -> int -> int -> int -> int
131 # extern __builtin___memmove_chk: int -> int -> int -> int -> int
132 # extern __builtin___memcpy_chk: int -> int -> int -> int -> int
133
134 # begin preamble       
135 .data                  
136 globals:               
137 .space 0           
138 nl:                    
139 .asciiz "\n"      
140 .align 2             
141 .text                 
142 main:                 
143 la    $gp, globals    
144 j     main307              
145 print_int:            
146 li    $v0, 1          
147 syscall               
148 jr     $ra            
149 print_intln:          
150 li    $v0, 1          
151 syscall               
152 la    $a0, nl         
153 li    $v0, 4          
154 syscall               
155 jr     $ra            
156 scan_int:             
157 li    $v0, 5          
158 syscall               
159 jr     $ra            
160 alloc:                
161 li    $v0, 9          
162 syscall               
163 jr     $ra            
164
165 pow2:                 
166 li    $v0, 1          
167 sllv  $v0, $v0, $a0   
168 jr    $ra             
169
170 mod:                  
171 beqz  $a0, mod0       
172 beqz  $a1, mod0       
173 li    $t2, 0          
174 mod_t0:               
175 bgtz  $a0, mod_a0_pos 
176 neg   $t0, $a0        
177 addi  $t2, $t2, 1     
178 j     mod_t1          
179 mod_a0_pos:           
180 move  $t0, $a0        
181 mod_t1:               
182 bgtz  $a1, mod_a1_pos 
183 neg   $t1, $a1        
184 addi  $t2, $t2, 2     
185 j     mod_main        
186 mod_a1_pos:           
187 move  $t1, $a1        
188 mod_main:             
189 rem   $v0, $t0, $t1   
190 beqz  $t2, mod_exit   
191 addi  $t2, -1         
192 beqz  $t2, mod_case1  
193 addi  $t2, -1         
194 beqz  $t2, mod_case2  
195 neg   $v0, $v0        
196 j mod_exit            
197 mod_case1:            
198 sub   $v0, $a1, $v0   
199 j mod_exit            
200 mod_case2:            
201 add   $v0, $a1, $v0   
202 j mod_exit            
203 mod0:                 
204 li    $v0, 0          
205 mod_exit:             
206 jr    $ra             
207
208 toint:                
209 # $a0: size           
210 # $a1: int to convert 
211 addi  $sp, $sp, -4    
212 sw    $ra, 0($sp)     
213 jal   pow2            
214 move  $a0, $a1        
215 move  $a1, $v0        
216 jal   mod             
217 lw    $ra, 0($sp)     
218 addi  $sp, $sp, 4     
219 jr    $ra             
220
221 toint8:               
222 addi  $sp, $sp, -4    
223 sw    $ra, 0($sp)     
224 move  $a1, $a0        
225 li    $a0, 8          
226 jal   toint           
227 lw    $ra, 0($sp)     
228 addi  $sp, $sp, 4     
229 jr    $ra             
230
231 toint16:              
232 addi  $sp, $sp, -4    
233 sw    $ra, 0($sp)     
234 move  $a1, $a0        
235 li    $a0, 16         
236 jal   toint           
237 lw    $ra, 0($sp)     
238 addi  $sp, $sp, 4     
239 jr    $ra             
240
241 sign_ext:             
242 # $a0: size           
243 # $a1: int to extend  
244 li    $v0, 32         
245 sub   $a0, $v0, $a0   
246 sllv  $v0, $a1, $a0   
247 srav  $v0, $v0, $a0   
248 jr    $ra             
249
250 ofint:                
251 # $a0: signedness     
252 # $a1: size           
253 # $a2: int to convert 
254 addi  $sp, $sp, -4    
255 sw    $ra, 0($sp)     
256 beqz  $a0, ofint_unsigned 
257 move  $a0, $a1        
258 move  $a1, $a2        
259 jal   sign_ext        
260 j     ofint_exit      
261 ofint_unsigned:       
262 move  $v0, $a2        
263 ofint_exit:           
264 lw    $ra, 0($sp)     
265 addi  $sp, $sp, 4     
266 jr    $ra             
267
268 ofint8:               
269 addi  $sp, $sp, -4    
270 sw    $ra, 0($sp)     
271 move  $a2, $a0        
272 li    $a1, 8          
273 li    $a0, 1          
274 jal   ofint           
275 lw    $ra, 0($sp)     
276 addi  $sp, $sp, 4     
277 jr    $ra             
278
279 ofuint8:              
280 addi  $sp, $sp, -4    
281 sw    $ra, 0($sp)     
282 move  $a2, $a0        
283 li    $a1, 8          
284 li    $a0, 0          
285 jal   ofint           
286 lw    $ra, 0($sp)     
287 addi  $sp, $sp, 4     
288 jr    $ra             
289
290 ofint16:              
291 addi  $sp, $sp, -4    
292 sw    $ra, 0($sp)     
293 move  $a2, $a0        
294 li    $a1, 16         
295 li    $a0, 1          
296 jal   ofint           
297 lw    $ra, 0($sp)     
298 addi  $sp, $sp, 4     
299 jr    $ra             
300
301 ofuint16:             
302 addi  $sp, $sp, -4    
303 sw    $ra, 0($sp)     
304 move  $a2, $a0        
305 li    $a1, 16         
306 li    $a0, 0          
307 jal   ofint           
308 lw    $ra, 0($sp)     
309 addi  $sp, $sp, 4     
310 jr    $ra             
311 # end preamble        
312
313
314 # begin comp_tri
315 comp_tri123:
316 c108:
317 li      $v0, 0
318 c107:
319 c106:
320 li      $t1, 0
321 comp_tri55:
322 li      $a3, 0
323 c105:
324 slt     $a2, $t1, $a1
325 seq     $a2, $a2, $zero
326 beq     $a2, $a3, comp_tri50
327 c95:
328 jr      $ra
329 comp_tri50:
330 c103:
331 c102:
332 li      $t2, 1
333 comp_tri47:
334 li      $a3, 0
335 c101:
336 sub     $a2, $a1, $t1
337 slt     $a2, $t2, $a2
338 seq     $a2, $a2, $zero
339 beq     $a2, $a3, comp_tri41
340 c104:
341 li      $a2, 1
342 add     $t1, $t1, $a2
343 j       comp_tri55
344 comp_tri41:
345 c99:
346 li      $a2, 4
347 mulo    $a2, $t2, $a2
348 add     $a2, $a0, $a2
349 lw      $t0, 0($a2)
350 li      $a2, 1
351 sub     $a3, $t2, $a2
352 li      $a2, 4
353 mulo    $a2, $a3, $a2
354 add     $a2, $a0, $a2
355 lw      $a2, 0($a2)
356 slt     $a2, $t0, $a2
357 beq     $a2, $zero, comp_tri10
358 c98:
359 li      $v0, 1
360 sub     $a2, $t2, $v0
361 li      $v0, 4
362 mulo    $v0, $a2, $v0
363 add     $v0, $a0, $v0
364 lw      $v0, 0($v0)
365 c97:
366 li      $a2, 4
367 mulo    $a2, $t2, $a2
368 add     $a2, $a0, $a2
369 lw      $t0, 0($a2)
370 li      $a2, 1
371 sub     $a3, $t2, $a2
372 li      $a2, 4
373 mulo    $a2, $a3, $a2
374 add     $a2, $a0, $a2
375 sw      $t0, 0($a2)
376 c96:
377 li      $a2, 4
378 mulo    $a2, $t2, $a2
379 add     $a2, $a0, $a2
380 sw      $v0, 0($a2)
381 comp_tri10:
382 c100:
383 li      $a2, 1
384 add     $t2, $t2, $a2
385 j       comp_tri47
386 # end comp_tri
387
388
389 # begin comp_total
390 comp_total410:
391 addi    $sp, $sp, -80
392 c94:
393 li      $t0, 0
394 move    $a3, $sp
395 li      $v0, 4
396 mulo    $v0, $zero, $v0
397 add     $v0, $a3, $v0
398 sw      $t0, 0($v0)
399 c93:
400 move    $t0, $sp
401 li      $a3, 1
402 li      $v0, 4
403 mulo    $v0, $a3, $v0
404 add     $v0, $t0, $v0
405 sw      $zero, 0($v0)
406 c92:
407 move    $t0, $sp
408 li      $a3, 2
409 li      $v0, 4
410 mulo    $v0, $a3, $v0
411 add     $v0, $t0, $v0
412 sw      $zero, 0($v0)
413 c91:
414 move    $t0, $sp
415 li      $a3, 3
416 li      $v0, 4
417 mulo    $v0, $a3, $v0
418 add     $v0, $t0, $v0
419 sw      $zero, 0($v0)
420 c90:
421 move    $t0, $sp
422 li      $a3, 4
423 li      $v0, 4
424 mulo    $v0, $a3, $v0
425 add     $v0, $t0, $v0
426 sw      $zero, 0($v0)
427 c89:
428 move    $t0, $sp
429 li      $a3, 5
430 li      $v0, 4
431 mulo    $v0, $a3, $v0
432 add     $v0, $t0, $v0
433 sw      $zero, 0($v0)
434 c88:
435 move    $t0, $sp
436 li      $a3, 6
437 li      $v0, 4
438 mulo    $v0, $a3, $v0
439 add     $v0, $t0, $v0
440 sw      $zero, 0($v0)
441 c87:
442 move    $t0, $sp
443 li      $a3, 7
444 li      $v0, 4
445 mulo    $v0, $a3, $v0
446 add     $v0, $t0, $v0
447 sw      $zero, 0($v0)
448 c86:
449 move    $t0, $sp
450 li      $a3, 8
451 li      $v0, 4
452 mulo    $v0, $a3, $v0
453 add     $v0, $t0, $v0
454 sw      $zero, 0($v0)
455 c85:
456 move    $t0, $sp
457 li      $a3, 9
458 li      $v0, 4
459 mulo    $v0, $a3, $v0
460 add     $v0, $t0, $v0
461 sw      $zero, 0($v0)
462 c84:
463 li      $t0, 0
464 move    $a3, $sp
465 addi    $a3, $a3, 40
466 li      $v0, 4
467 mulo    $v0, $zero, $v0
468 add     $v0, $a3, $v0
469 sw      $t0, 0($v0)
470 c83:
471 move    $t0, $sp
472 addi    $t0, $t0, 40
473 li      $a3, 1
474 li      $v0, 4
475 mulo    $v0, $a3, $v0
476 add     $v0, $t0, $v0
477 sw      $zero, 0($v0)
478 c82:
479 move    $t0, $sp
480 addi    $t0, $t0, 40
481 li      $a3, 2
482 li      $v0, 4
483 mulo    $v0, $a3, $v0
484 add     $v0, $t0, $v0
485 sw      $zero, 0($v0)
486 c81:
487 move    $t0, $sp
488 addi    $t0, $t0, 40
489 li      $a3, 3
490 li      $v0, 4
491 mulo    $v0, $a3, $v0
492 add     $v0, $t0, $v0
493 sw      $zero, 0($v0)
494 c80:
495 move    $t0, $sp
496 addi    $t0, $t0, 40
497 li      $a3, 4
498 li      $v0, 4
499 mulo    $v0, $a3, $v0
500 add     $v0, $t0, $v0
501 sw      $zero, 0($v0)
502 c79:
503 move    $t0, $sp
504 addi    $t0, $t0, 40
505 li      $a3, 5
506 li      $v0, 4
507 mulo    $v0, $a3, $v0
508 add     $v0, $t0, $v0
509 sw      $zero, 0($v0)
510 c78:
511 move    $t0, $sp
512 addi    $t0, $t0, 40
513 li      $a3, 6
514 li      $v0, 4
515 mulo    $v0, $a3, $v0
516 add     $v0, $t0, $v0
517 sw      $zero, 0($v0)
518 c77:
519 move    $t0, $sp
520 addi    $t0, $t0, 40
521 li      $a3, 7
522 li      $v0, 4
523 mulo    $v0, $a3, $v0
524 add     $v0, $t0, $v0
525 sw      $zero, 0($v0)
526 c76:
527 move    $t0, $sp
528 addi    $t0, $t0, 40
529 li      $a3, 8
530 li      $v0, 4
531 mulo    $v0, $a3, $v0
532 add     $v0, $t0, $v0
533 sw      $zero, 0($v0)
534 c75:
535 move    $t0, $sp
536 addi    $t0, $t0, 40
537 li      $a3, 9
538 li      $v0, 4
539 mulo    $v0, $a3, $v0
540 add     $v0, $t0, $v0
541 sw      $zero, 0($v0)
542 c74:
543 slt     $v0, $a1, $a2
544 beq     $v0, $zero, comp_total40
545 c73:
546 c72:
547 li      $t0, 0
548 comp_total58:
549 li      $a2, 0
550 c71:
551 sle     $v0, $t0, $a1
552 seq     $v0, $v0, $zero
553 beq     $v0, $a2, comp_total53
554 comp_total2:
555 c59:
556 li      $v0, 0
557 addi    $sp, $sp, 80
558 jr      $ra
559 comp_total53:
560 c69:
561 sub     $a2, $a1, $t0
562 li      $v0, 4
563 mulo    $v0, $a2, $v0
564 add     $v0, $a0, $v0
565 lw      $a3, 0($v0)
566 move    $a2, $sp
567 li      $v0, 4
568 mulo    $v0, $t0, $v0
569 add     $v0, $a2, $v0
570 sw      $a3, 0($v0)
571 c70:
572 li      $v0, 1
573 add     $t0, $t0, $v0
574 j       comp_total58
575 comp_total40:
576 c68:
577 c67:
578 li      $t2, 0
579 comp_total37:
580 li      $a3, 0
581 c66:
582 slt     $v0, $t2, $a1
583 seq     $v0, $v0, $zero
584 bne     $v0, $a3, comp_total2
585 c64:
586 c63:
587 move    $t1, $a2
588 comp_total29:
589 li      $a3, 0
590 c62:
591 sgt     $v0, $t1, $zero
592 seq     $v0, $v0, $zero
593 beq     $v0, $a3, comp_total23
594 c65:
595 li      $v0, 1
596 add     $t2, $t2, $v0
597 j       comp_total37
598 comp_total23:
599 c60:
600 move    $a3, $sp
601 li      $v0, 4
602 mulo    $v0, $t2, $v0
603 add     $v0, $a3, $v0
604 lw      $t0, 0($v0)
605 move    $a3, $sp
606 addi    $a3, $a3, 40
607 li      $v0, 4
608 mulo    $v0, $t1, $v0
609 add     $v0, $a3, $v0
610 lw      $v0, 0($v0)
611 add     $a3, $t0, $v0
612 li      $v0, 4
613 mulo    $v0, $t2, $v0
614 add     $v0, $a0, $v0
615 sw      $a3, 0($v0)
616 c61:
617 li      $v0, 1
618 sub     $t1, $t1, $v0
619 j       comp_total29
620 # end comp_total
621
622
623 # begin comp_ifFor
624 comp_ifFor45:
625 c58:
626 li      $v0, 0
627 c57:
628 c56:
629 li      $t0, 0
630 comp_ifFor18:
631 li      $t1, 0
632 c55:
633 slt     $a3, $t0, $a0
634 seq     $a3, $a3, $zero
635 beq     $a3, $t1, comp_ifFor13
636 c50:
637 jr      $ra
638 comp_ifFor13:
639 c53:
640 sne     $a3, $t0, $a1
641 beq     $a3, $zero, comp_ifFor7
642 c52:
643 add     $v0, $v0, $t0
644 comp_ifFor5:
645 c54:
646 add     $t0, $t0, $a2
647 j       comp_ifFor18
648 comp_ifFor7:
649 c51:
650 li      $v0, 0
651 j       comp_ifFor5
652 # end comp_ifFor
653
654
655 # begin comp_forif2
656 comp_forif2153:
657 addi    $sp, $sp, -16
658 sw      $ra, 12($sp)
659 sw      $s2, 8($sp)
660 sw      $s1, 4($sp)
661 sw      $s0, 0($sp)
662 c130:
663 li      $s0, 0
664 c129:
665 li      $s1, 0
666 c128:
667 c127:
668 li      $t0, 0
669 comp_forif275:
670 li      $t1, 0
671 c126:
672 slt     $v0, $t0, $a2
673 seq     $v0, $v0, $zero
674 beq     $v0, $t1, comp_forif270
675 c123:
676 c122:
677 li      $a0, 0
678 comp_forif258:
679 li      $a2, 0
680 c121:
681 slt     $v0, $a0, $a3
682 seq     $v0, $v0, $zero
683 beq     $v0, $a2, comp_forif253
684 c118:
685 li      $s2, 0
686 c117:
687 li      $a1, 2
688 la      $v0, mod
689 move    $a0, $s0
690 jalr    $v0
691 li      $a0, 0
692 seq     $v0, $v0, $a0
693 beq     $v0, $zero, comp_forif226
694 c116:
695 li      $a1, 2
696 la      $v0, mod
697 move    $a0, $s1
698 jalr    $v0
699 li      $a0, 0
700 seq     $v0, $v0, $a0
701 beq     $v0, $zero, comp_forif227
702 li      $v0, 1
703 comp_forif225:
704 beq     $v0, $s2, comp_forif222
705 c115:
706 comp_forif22:
707 c109:
708 li      $v0, 0
709 lw      $ra, 12($sp)
710 lw      $s2, 8($sp)
711 lw      $s1, 4($sp)
712 lw      $s0, 0($sp)
713 addi    $sp, $sp, 16
714 jr      $ra
715 comp_forif222:
716 c114:
717 li      $a1, 2
718 la      $v0, mod
719 move    $a0, $s0
720 jalr    $v0
721 li      $a0, 0
722 seq     $v0, $v0, $a0
723 beq     $v0, $zero, comp_forif213
724 c113:
725 j       comp_forif22
726 comp_forif213:
727 c112:
728 li      $a1, 2
729 la      $v0, mod
730 move    $a0, $s1
731 jalr    $v0
732 li      $a0, 0
733 seq     $v0, $v0, $a0
734 beq     $v0, $zero, comp_forif24
735 c111:
736 j       comp_forif22
737 comp_forif24:
738 c110:
739 j       comp_forif22
740 comp_forif227:
741 li      $v0, 0
742 j       comp_forif225
743 comp_forif226:
744 li      $v0, 0
745 j       comp_forif225
746 comp_forif253:
747 c119:
748 li      $v0, 4
749 mulo    $v0, $a0, $v0
750 add     $v0, $a1, $v0
751 lw      $v0, 0($v0)
752 add     $s1, $s1, $v0
753 c120:
754 li      $v0, 1
755 add     $a0, $a0, $v0
756 j       comp_forif258
757 comp_forif270:
758 c124:
759 li      $v0, 4
760 mulo    $v0, $t0, $v0
761 add     $v0, $a0, $v0
762 lw      $v0, 0($v0)
763 add     $s0, $s0, $v0
764 c125:
765 li      $v0, 1
766 add     $t0, $t0, $v0
767 j       comp_forif275
768 # end comp_forif2
769
770
771 # begin comp_forif
772 comp_forif65:
773 addi    $sp, $sp, -12
774 sw      $ra, 8($sp)
775 sw      $s1, 4($sp)
776 sw      $s0, 0($sp)
777 c141:
778 li      $s1, 0
779 c140:
780 c139:
781 c138:
782 li      $s0, 0
783 comp_forif28:
784 li      $a0, 0
785 c137:
786 li      $v0, 10
787 slt     $v0, $s0, $v0
788 seq     $v0, $v0, $zero
789 beq     $v0, $a0, comp_forif22
790 c131:
791 move    $v0, $s1
792 lw      $ra, 8($sp)
793 lw      $s1, 4($sp)
794 lw      $s0, 0($sp)
795 addi    $sp, $sp, 12
796 jr      $ra
797 comp_forif22:
798 c135:
799 li      $v0, 1
800 add     $s1, $s1, $v0
801 c134:
802 li      $v0, 1
803 add     $s1, $s1, $v0
804 c133:
805 li      $a1, 2
806 la      $v0, mod
807 move    $a0, $s0
808 jalr    $v0
809 li      $a0, 0
810 seq     $v0, $v0, $a0
811 beq     $v0, $zero, comp_forif6
812 c132:
813 comp_forif6:
814 c136:
815 li      $v0, 1
816 add     $s0, $s0, $v0
817 j       comp_forif28
818 # end comp_forif
819
820
821 # begin comp_fir_basic
822 comp_fir_basic141:
823 addi    $sp, $sp, -4
824 c16:
825 li      $v0, 0
826 c15:
827 c14:
828 li      $t3, 0
829 comp_fir_basic64:
830 li      $t0, 0
831 c13:
832 li      $a3, 3
833 slt     $a3, $t3, $a3
834 seq     $a3, $a3, $zero
835 beq     $a3, $t0, comp_fir_basic58
836 c0:
837 addi    $sp, $sp, 4
838 jr      $ra
839 comp_fir_basic58:
840 c11:
841 li      $a3, 4
842 mulo    $a3, $t3, $a3
843 add     $a3, $a0, $a3
844 lw      $t0, 0($a3)
845 li      $a3, 4
846 mulo    $a3, $zero, $a3
847 add     $a3, $a2, $a3
848 sw      $t0, 0($a3)
849 c10:
850 c9:
851 li      $t0, 0
852 comp_fir_basic47:
853 li      $t1, 0
854 c8:
855 li      $a3, 3
856 slt     $a3, $t0, $a3
857 seq     $a3, $a3, $zero
858 beq     $a3, $t1, comp_fir_basic41
859 c5:
860 c4:
861 li      $t2, 2
862 comp_fir_basic25:
863 li      $t0, 0
864 c3:
865 sge     $a3, $t2, $zero
866 seq     $a3, $a3, $zero
867 beq     $a3, $t0, comp_fir_basic19
868 c12:
869 li      $a3, 1
870 add     $t3, $t3, $a3
871 j       comp_fir_basic64
872 comp_fir_basic19:
873 c1:
874 li      $a3, 4
875 mulo    $a3, $t2, $a3
876 add     $a3, $a2, $a3
877 lw      $t1, 0($a3)
878 li      $a3, 1
879 add     $t0, $t2, $a3
880 li      $a3, 4
881 mulo    $a3, $t0, $a3
882 add     $a3, $a2, $a3
883 sw      $t1, 0($a3)
884 c2:
885 li      $a3, 1
886 sub     $t2, $t2, $a3
887 j       comp_fir_basic25
888 comp_fir_basic41:
889 c6:
890 li      $a3, 4
891 mulo    $a3, $t0, $a3
892 add     $a3, $a1, $a3
893 lw      $t1, 0($a3)
894 li      $a3, 4
895 mulo    $a3, $t0, $a3
896 add     $a3, $a2, $a3
897 lw      $a3, 0($a3)
898 mulo    $a3, $t1, $a3
899 add     $v0, $v0, $a3
900 c7:
901 li      $a3, 1
902 add     $t0, $t0, $a3
903 j       comp_fir_basic47
904 # end comp_fir_basic
905
906
907 # begin comp_fir16
908 comp_fir16373:
909 addi    $sp, $sp, -96
910 sw      $ra, 92($sp)
911 sw      $s6, 88($sp)
912 sw      $s5, 84($sp)
913 sw      $s4, 80($sp)
914 sw      $s3, 76($sp)
915 sw      $s2, 72($sp)
916 sw      $s1, 68($sp)
917 sw      $s0, 64($sp)
918 move    $s6, $a0
919 move    $s5, $a1
920 move    $s4, $a2
921 move    $s3, $a3
922 c49:
923 li      $a1, 0
924 move    $a0, $sp
925 li      $v0, 4
926 mulo    $v0, $zero, $v0
927 add     $v0, $a0, $v0
928 sw      $a1, 0($v0)
929 c48:
930 move    $a1, $sp
931 li      $a0, 1
932 li      $v0, 4
933 mulo    $v0, $a0, $v0
934 add     $v0, $a1, $v0
935 sw      $zero, 0($v0)
936 c47:
937 move    $a1, $sp
938 li      $a0, 2
939 li      $v0, 4
940 mulo    $v0, $a0, $v0
941 add     $v0, $a1, $v0
942 sw      $zero, 0($v0)
943 c46:
944 move    $a1, $sp
945 li      $a0, 3
946 li      $v0, 4
947 mulo    $v0, $a0, $v0
948 add     $v0, $a1, $v0
949 sw      $zero, 0($v0)
950 c45:
951 move    $a1, $sp
952 li      $a0, 4
953 li      $v0, 4
954 mulo    $v0, $a0, $v0
955 add     $v0, $a1, $v0
956 sw      $zero, 0($v0)
957 c44:
958 move    $a1, $sp
959 li      $a0, 5
960 li      $v0, 4
961 mulo    $v0, $a0, $v0
962 add     $v0, $a1, $v0
963 sw      $zero, 0($v0)
964 c43:
965 move    $a1, $sp
966 li      $a0, 6
967 li      $v0, 4
968 mulo    $v0, $a0, $v0
969 add     $v0, $a1, $v0
970 sw      $zero, 0($v0)
971 c42:
972 move    $a1, $sp
973 li      $a0, 7
974 li      $v0, 4
975 mulo    $v0, $a0, $v0
976 add     $v0, $a1, $v0
977 sw      $zero, 0($v0)
978 c41:
979 move    $a1, $sp
980 li      $a0, 8
981 li      $v0, 4
982 mulo    $v0, $a0, $v0
983 add     $v0, $a1, $v0
984 sw      $zero, 0($v0)
985 c40:
986 move    $a1, $sp
987 li      $a0, 9
988 li      $v0, 4
989 mulo    $v0, $a0, $v0
990 add     $v0, $a1, $v0
991 sw      $zero, 0($v0)
992 c39:
993 move    $a1, $sp
994 li      $a0, 10
995 li      $v0, 4
996 mulo    $v0, $a0, $v0
997 add     $v0, $a1, $v0
998 sw      $zero, 0($v0)
999 c38:
1000 move    $a1, $sp
1001 li      $a0, 11
1002 li      $v0, 4
1003 mulo    $v0, $a0, $v0
1004 add     $v0, $a1, $v0
1005 sw      $zero, 0($v0)
1006 c37:
1007 move    $a1, $sp
1008 li      $a0, 12
1009 li      $v0, 4
1010 mulo    $v0, $a0, $v0
1011 add     $v0, $a1, $v0
1012 sw      $zero, 0($v0)
1013 c36:
1014 move    $a1, $sp
1015 li      $a0, 13
1016 li      $v0, 4
1017 mulo    $v0, $a0, $v0
1018 add     $v0, $a1, $v0
1019 sw      $zero, 0($v0)
1020 c35:
1021 move    $a1, $sp
1022 li      $a0, 14
1023 li      $v0, 4
1024 mulo    $v0, $a0, $v0
1025 add     $v0, $a1, $v0
1026 sw      $zero, 0($v0)
1027 c34:
1028 move    $a1, $sp
1029 li      $a0, 15
1030 li      $v0, 4
1031 mulo    $v0, $a0, $v0
1032 add     $v0, $a1, $v0
1033 sw      $zero, 0($v0)
1034 c33:
1035 li      $v0, 0
1036 c32:
1037 li      $s2, 0
1038 c31:
1039 c30:
1040 li      $s1, 0
1041 comp_fir1665:
1042 li      $a1, 0
1043 c29:
1044 slt     $a0, $s1, $s3
1045 seq     $a0, $a0, $zero
1046 beq     $a0, $a1, comp_fir1660
1047 c17:
1048 li      $v0, 4
1049 mulo    $v0, $zero, $v0
1050 add     $v0, $sp, $v0
1051 lw      $v0, 0($v0)
1052 lw      $ra, 92($sp)
1053 lw      $s6, 88($sp)
1054 lw      $s5, 84($sp)
1055 lw      $s4, 80($sp)
1056 lw      $s3, 76($sp)
1057 lw      $s2, 72($sp)
1058 lw      $s1, 68($sp)
1059 lw      $s0, 64($sp)
1060 addi    $sp, $sp, 96
1061 jr      $ra
1062 comp_fir1660:
1063 c27:
1064 li      $a0, 4
1065 mulo    $a0, $s1, $a0
1066 add     $a0, $s6, $a0
1067 lw      $a2, 0($a0)
1068 move    $a1, $sp
1069 li      $a0, 4
1070 mulo    $a0, $v0, $a0
1071 add     $a0, $a1, $a0
1072 sw      $a2, 0($a0)
1073 c26:
1074 c25:
1075 li      $s0, 0
1076 comp_fir1649:
1077 li      $a1, 0
1078 c24:
1079 li      $a0, 16
1080 slt     $a0, $s0, $a0
1081 seq     $a0, $a0, $zero
1082 beq     $a0, $a1, comp_fir1643
1083 c19:
1084 li      $a0, 1
1085 add     $a0, $v0, $a0
1086 li      $a1, 16
1087 la      $v0, mod
1088 jalr    $v0
1089 c18:
1090 li      $a0, 4
1091 mulo    $a0, $s1, $a0
1092 add     $a0, $s4, $a0
1093 sw      $s2, 0($a0)
1094 c28:
1095 li      $a0, 1
1096 add     $s1, $s1, $a0
1097 j       comp_fir1665
1098 comp_fir1643:
1099 c22:
1100 move    $a1, $sp
1101 li      $a0, 4
1102 mulo    $a0, $v0, $a0
1103 add     $a0, $a1, $a0
1104 lw      $a1, 0($a0)
1105 li      $a0, 4
1106 mulo    $a0, $s0, $a0
1107 add     $a0, $s5, $a0
1108 lw      $a0, 0($a0)
1109 mulo    $a2, $a1, $a0
1110 li      $a1, 2
1111 li      $a0, 16
1112 xor     $a0, $a1, $a0
1113 mulo    $a0, $a2, $a0
1114 c21:
1115 add     $s2, $s2, $a0
1116 c20:
1117 li      $a0, 1
1118 add     $a0, $v0, $a0
1119 li      $a1, 16
1120 la      $v0, mod
1121 jalr    $v0
1122 c23:
1123 li      $a0, 1
1124 add     $s0, $s0, $a0
1125 j       comp_fir1649
1126 # end comp_fir16
1127
1128
1129 # begin _main
1130 main307:
1131 addi    $sp, $sp, -68
1132 sw      $ra, 64($sp)
1133 c165:
1134 li      $a1, 10
1135 move    $a0, $sp
1136 li      $v0, 4
1137 mulo    $v0, $zero, $v0
1138 add     $v0, $a0, $v0
1139 sw      $a1, 0($v0)
1140 c164:
1141 li      $a2, 9
1142 move    $a1, $sp
1143 li      $a0, 1
1144 li      $v0, 4
1145 mulo    $v0, $a0, $v0
1146 add     $v0, $a1, $v0
1147 sw      $a2, 0($v0)
1148 c163:
1149 li      $a2, 8
1150 move    $a1, $sp
1151 li      $a0, 2
1152 li      $v0, 4
1153 mulo    $v0, $a0, $v0
1154 add     $v0, $a1, $v0
1155 sw      $a2, 0($v0)
1156 c162:
1157 li      $a2, 7
1158 move    $a1, $sp
1159 li      $a0, 3
1160 li      $v0, 4
1161 mulo    $v0, $a0, $v0
1162 add     $v0, $a1, $v0
1163 sw      $a2, 0($v0)
1164 c161:
1165 li      $a2, 6
1166 move    $a1, $sp
1167 li      $a0, 4
1168 li      $v0, 4
1169 mulo    $v0, $a0, $v0
1170 add     $v0, $a1, $v0
1171 sw      $a2, 0($v0)
1172 c160:
1173 move    $a1, $sp
1174 li      $a0, 5
1175 li      $v0, 4
1176 mulo    $v0, $a0, $v0
1177 add     $v0, $a1, $v0
1178 sw      $zero, 0($v0)
1179 c159:
1180 li      $a2, 5
1181 move    $a1, $sp
1182 li      $a0, 6
1183 li      $v0, 4
1184 mulo    $v0, $a0, $v0
1185 add     $v0, $a1, $v0
1186 sw      $a2, 0($v0)
1187 c158:
1188 li      $a2, 4
1189 move    $a1, $sp
1190 li      $a0, 7
1191 li      $v0, 4
1192 mulo    $v0, $a0, $v0
1193 add     $v0, $a1, $v0
1194 sw      $a2, 0($v0)
1195 c157:
1196 li      $a2, 3
1197 move    $a1, $sp
1198 li      $a0, 8
1199 li      $v0, 4
1200 mulo    $v0, $a0, $v0
1201 add     $v0, $a1, $v0
1202 sw      $a2, 0($v0)
1203 c156:
1204 li      $a2, 2
1205 move    $a1, $sp
1206 li      $a0, 9
1207 li      $v0, 4
1208 mulo    $v0, $a0, $v0
1209 add     $v0, $a1, $v0
1210 sw      $a2, 0($v0)
1211 c155:
1212 move    $a1, $sp
1213 li      $a0, 10
1214 li      $v0, 4
1215 mulo    $v0, $a0, $v0
1216 add     $v0, $a1, $v0
1217 sw      $zero, 0($v0)
1218 c154:
1219 move    $a1, $sp
1220 li      $a0, 11
1221 li      $v0, 4
1222 mulo    $v0, $a0, $v0
1223 add     $v0, $a1, $v0
1224 sw      $zero, 0($v0)
1225 c153:
1226 move    $a1, $sp
1227 li      $a0, 12
1228 li      $v0, 4
1229 mulo    $v0, $a0, $v0
1230 add     $v0, $a1, $v0
1231 sw      $zero, 0($v0)
1232 c152:
1233 move    $a1, $sp
1234 li      $a0, 13
1235 li      $v0, 4
1236 mulo    $v0, $a0, $v0
1237 add     $v0, $a1, $v0
1238 sw      $zero, 0($v0)
1239 c151:
1240 move    $a1, $sp
1241 li      $a0, 14
1242 li      $v0, 4
1243 mulo    $v0, $a0, $v0
1244 add     $v0, $a1, $v0
1245 sw      $zero, 0($v0)
1246 c150:
1247 move    $a1, $sp
1248 li      $a0, 15
1249 li      $v0, 4
1250 mulo    $v0, $a0, $v0
1251 add     $v0, $a1, $v0
1252 sw      $zero, 0($v0)
1253 c149:
1254 move    $a0, $sp
1255 move    $a1, $sp
1256 move    $a2, $sp
1257 li      $a3, 10
1258 li      $t0, 10
1259 la      $v0, comp_fir_basic141
1260 sw      $t0, -4($sp)
1261 jalr    $v0
1262 c148:
1263 move    $a0, $sp
1264 move    $a1, $sp
1265 move    $a2, $sp
1266 li      $a3, 16
1267 la      $v0, comp_fir16373
1268 jalr    $v0
1269 c147:
1270 li      $a0, 4
1271 li      $a1, 1
1272 li      $a2, 1
1273 la      $v0, comp_ifFor45
1274 jalr    $v0
1275 c146:
1276 move    $a0, $sp
1277 li      $a1, 9
1278 li      $a2, 3
1279 la      $v0, comp_total410
1280 jalr    $v0
1281 c145:
1282 move    $a0, $sp
1283 li      $a1, 10
1284 la      $v0, comp_tri123
1285 jalr    $v0
1286 c144:
1287 move    $a0, $sp
1288 move    $a1, $sp
1289 li      $a2, 10
1290 li      $a3, 10
1291 la      $v0, comp_forif2153
1292 jalr    $v0
1293 c143:
1294 la      $v0, comp_forif65
1295 jalr    $v0
1296 c142:
1297 lw      $ra, 64($sp)
1298 addi    $sp, $sp, 68
1299 jr      $ra
1300 # end _main