diff --git a/.gitignore b/.gitignore index cb09733a5d2c749b2155527e2c97991aa588edc1..af310bd51777b3b897f80a00dafd5101e1bdc0b7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ *.pyc *~ *.o -*.s lex.yy.c y.tab.c y.tab.h diff --git a/benchmarks/build/acron.s b/benchmarks/build/acron.s new file mode 100644 index 0000000000000000000000000000000000000000..2c2c21bf86443d9597ef520f39e346f9bdfee40c --- /dev/null +++ b/benchmarks/build/acron.s @@ -0,0 +1,440 @@ + .file 1 "acron.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -O0 -o + +gcc2_compiled.: +__gnu_compiled_c: + .globl w + .data + .align 2 +w: + .word $LC0 + .word $LC1 + .word $LC2 + .word $LC3 + .word $LC4 + .word $LC5 + .sdata + .align 2 +$LC5: + .ascii "Eephole\000" + .rdata + .align 2 +$LC4: + .ascii "Peephole\000" + .align 2 +$LC3: + .ascii "Optimization\000" + .align 2 +$LC2: + .ascii "Practicum\000" + .align 2 +$LC1: + .ascii "Ertalerbouw\000" + .align 2 +$LC0: + .ascii "Vertalerbouw\000" + .text + .align 2 + .globl is_vowel + .sdata + .align 2 +$LC6: + .ascii "%s\000" + .align 2 +$LC7: + .ascii " %s\000" + .align 2 +$LC8: + .ascii "\n\000" + .text + .align 2 + .globl do_perm + .align 2 + .globl main + + .comm acron,12 + + .comm command,100 + + .comm done,24 + + .comm pindex,28 + + .text + + .loc 1 10 + .ent is_vowel +is_vowel: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + move $3,$4 + sb $3,0($fp) + move $2,$0 + lb $4,0($fp) + li $5,0x00000041 # 65 + beq $4,$5,$L3 + lb $4,0($fp) + li $5,0x00000045 # 69 + beq $4,$5,$L3 + lb $4,0($fp) + li $5,0x00000049 # 73 + beq $4,$5,$L3 + lb $4,0($fp) + li $5,0x0000004f # 79 + beq $4,$5,$L3 + lb $4,0($fp) + li $5,0x00000055 # 85 + beq $4,$5,$L3 + lb $4,0($fp) + li $5,0x00000059 # 89 + beq $4,$5,$L3 + j $L2 +$L3: + li $2,0x00000001 # 1 +$L2: + j $L1 +$L1: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end is_vowel + + .loc 1 15 + .ent do_perm +do_perm: + .frame $fp,56,$31 # vars= 24, regs= 4/0, args= 16, extra= 0 + .mask 0xc0030000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,56 + sw $31,52($sp) + sw $fp,48($sp) + sw $17,44($sp) + sw $16,40($sp) + move $fp,$sp + sw $4,56($fp) + sw $5,60($fp) + sw $6,64($fp) + sw $7,68($fp) + sw $0,24($fp) + lw $2,64($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L5 + lw $2,pindex + move $3,$2 + sll $2,$3,2 + la $3,w + addu $2,$2,$3 + lw $3,0($2) + lb $2,0($3) + move $4,$2 + jal is_vowel + bne $2,$0,$L5 + lw $2,56($fp) + move $3,$2 + sll $2,$3,2 + la $3,w + addu $2,$2,$3 + lw $3,0($2) + lb $2,0($3) + move $4,$2 + jal is_vowel + bne $2,$0,$L5 + j $L4 +$L5: + lw $2,64($fp) + slt $3,$2,2 + bne $3,$0,$L6 + lw $2,64($fp) + move $3,$2 + sll $2,$3,2 + la $3,pindex-8 + addu $2,$2,$3 + lw $3,0($2) + move $2,$3 + sll $3,$2,2 + la $4,w + addu $2,$3,$4 + lw $3,0($2) + lb $2,0($3) + move $4,$2 + jal is_vowel + move $16,$2 + lw $2,64($fp) + move $3,$2 + sll $2,$3,2 + la $3,pindex-4 + addu $2,$2,$3 + lw $3,0($2) + move $2,$3 + sll $3,$2,2 + la $4,w + addu $2,$3,$4 + lw $3,0($2) + lb $2,0($3) + move $4,$2 + jal is_vowel + move $17,$2 + lw $2,56($fp) + move $3,$2 + sll $2,$3,2 + la $3,w + addu $2,$2,$3 + lw $3,0($2) + lb $2,0($3) + move $4,$2 + jal is_vowel + addu $3,$16,$17 + addu $2,$3,$2 + sw $2,24($fp) + lw $2,24($fp) + beq $2,$0,$L8 + lw $2,24($fp) + li $3,0x00000003 # 3 + beq $2,$3,$L8 + j $L7 +$L8: + j $L4 +$L7: +$L6: + lw $2,64($fp) + addu $3,$2,1 + sw $3,64($fp) + sll $3,$2,2 + la $4,pindex + addu $2,$3,$4 + lw $3,56($fp) + sw $3,0($2) + lw $2,64($fp) + slt $3,$2,6 + beq $3,$0,$L9 + lw $3,68($fp) + subu $2,$3,1 + move $3,$2 + sw $3,68($fp) + beq $3,$0,$L9 + sw $0,16($fp) +$L10: + lw $2,16($fp) + slt $3,$2,6 + bne $3,$0,$L13 + j $L11 +$L13: + lw $2,16($fp) + move $3,$2 + sll $2,$3,2 + lw $3,60($fp) + addu $2,$2,$3 + lw $3,0($2) + bne $3,$0,$L14 + lw $2,16($fp) + move $3,$2 + sll $2,$3,2 + lw $3,60($fp) + addu $2,$2,$3 + li $3,0x00000001 # 1 + sw $3,0($2) + lw $4,16($fp) + lw $5,60($fp) + lw $6,64($fp) + lw $7,68($fp) + jal do_perm + lw $2,16($fp) + move $3,$2 + sll $2,$3,2 + lw $3,60($fp) + addu $2,$2,$3 + sw $0,0($2) +$L14: +$L12: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L10 +$L11: + j $L15 +$L9: + sw $0,28($fp) + sw $0,20($fp) +$L16: + lw $2,20($fp) + lw $3,64($fp) + slt $2,$2,$3 + bne $2,$0,$L19 + j $L17 +$L19: + sw $0,32($fp) +$L20: + lw $2,20($fp) + move $3,$2 + sll $2,$3,2 + la $3,pindex + addu $2,$2,$3 + lw $3,0($2) + move $2,$3 + sll $3,$2,2 + la $4,w + addu $2,$3,$4 + lw $3,0($2) + lw $4,32($fp) + addu $2,$3,$4 + lb $3,0($2) + move $4,$3 + jal isupper + bne $2,$0,$L22 + j $L21 +$L22: + lw $2,28($fp) + addu $3,$2,1 + sw $3,28($fp) + lw $3,20($fp) + move $4,$3 + sll $3,$4,2 + la $4,pindex + addu $3,$3,$4 + lw $4,0($3) + move $3,$4 + sll $4,$3,2 + la $5,w + addu $3,$4,$5 + lw $4,32($fp) + addu $5,$4,1 + sw $5,32($fp) + lw $5,0($3) + addu $3,$4,$5 + lbu $4,0($3) + sb $4,acron($2) + j $L20 +$L21: +$L18: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L16 +$L17: + lw $2,28($fp) + la $3,acron + addu $2,$2,$3 + sb $0,0($2) + la $4,$LC6 + la $5,acron + jal printf + sw $0,20($fp) +$L23: + lw $2,20($fp) + lw $3,64($fp) + slt $2,$2,$3 + bne $2,$0,$L26 + j $L24 +$L26: + lw $2,20($fp) + move $3,$2 + sll $2,$3,2 + la $3,pindex + addu $2,$2,$3 + lw $3,0($2) + move $2,$3 + sll $3,$2,2 + la $4,w + addu $2,$3,$4 + la $4,$LC7 + lw $5,0($2) + jal printf +$L25: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L23 +$L24: + la $4,$LC8 + jal printf +$L15: +$L4: + move $sp,$fp # sp not trusted here + lw $31,52($sp) + lw $fp,48($sp) + lw $17,44($sp) + lw $16,40($sp) + addu $sp,$sp,56 + j $31 + .end do_perm + + .loc 1 53 + .ent main +main: + .frame $fp,32,$31 # vars= 8, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,32 + sw $31,28($sp) + sw $fp,24($sp) + move $fp,$sp + jal __main + li $2,0x00000004 # 4 + sw $2,20($fp) +$L28: + lw $2,20($fp) + slt $3,$2,7 + bne $3,$0,$L31 + j $L29 +$L31: + sw $0,16($fp) +$L32: + lw $2,16($fp) + slt $3,$2,6 + bne $3,$0,$L35 + j $L33 +$L35: + lw $2,16($fp) + move $3,$2 + sll $2,$3,2 + la $3,done + addu $2,$2,$3 + li $3,0x00000001 # 1 + sw $3,0($2) + lw $4,16($fp) + la $5,done + move $6,$0 + lw $7,20($fp) + jal do_perm + lw $2,16($fp) + move $3,$2 + sll $2,$3,2 + la $3,done + addu $2,$2,$3 + sw $0,0($2) +$L34: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L32 +$L33: +$L30: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L28 +$L29: +$L27: + move $sp,$fp # sp not trusted here + lw $31,28($sp) + lw $fp,24($sp) + addu $sp,$sp,32 + j $31 + .end main diff --git a/benchmarks/build/clinpack.s b/benchmarks/build/clinpack.s new file mode 100644 index 0000000000000000000000000000000000000000..81d039fac2ec47bab7fa7b16e5216d44e8afbd1d --- /dev/null +++ b/benchmarks/build/clinpack.s @@ -0,0 +1,3774 @@ + .file 1 "clinpack.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -O0 -o + +gcc2_compiled.: +__gnu_compiled_c: + + .lcomm aa.2,320000 + + .lcomm a.3,321600 + + .lcomm b.4,1600 + + .lcomm x.5,1600 + + .lcomm ipvt.6,800 + + .lcomm n.7,4 + + .lcomm i.8,4 + + .lcomm ntimes.9,4 + + .lcomm info.10,4 + + .lcomm lda.11,4 + + .lcomm ldaa.12,4 + + .lcomm kflops.13,4 + .rdata + .align 2 +$LC1: + .ascii "Unrolled \000" + .sdata + .align 2 +$LC2: + .ascii "Double \000" + .rdata + .align 2 +$LC3: + .ascii "Precision Linpack\n\n\000" + .align 2 +$LC6: + .ascii " norm. resid resid machep\000" + .align 2 +$LC7: + .ascii " x[0]-1 x[n-1]-1\n\000" + .align 2 +$LC8: + .ascii "%8.1f %16.8e%16.8e%16.8e%16.8e\n\000" + .align 2 +$LC9: + .ascii " times are reported for matrices of order %5d\n\000" + .align 2 +$LC10: + .ascii " dgefa dgesl total kflops unit\000" + .align 2 +$LC11: + .ascii " ratio\n\000" + .align 2 +$LC14: + .ascii " times for array with leading dimension of%5d\n\000" + .align 2 +$LC16: + .ascii " times for array with leading dimension of%4d\n\000" + .align 2 +$LC17: + .ascii " Precision %5d Kflops ; %d Reps \n\000" + .sdata + .align 3 +$LC0: + .word 0x3126e979 # 0.056000000000000001166 + .word 0x3facac08 + .align 3 +$LC4: + .word 0x00000000 # 3 + .word 0x40080000 + .align 3 +$LC5: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC12: + .word 0x00000000 # 1000 + .word 0x408f4000 + .align 3 +$LC13: + .word 0x00000000 # 2000 + .word 0x409f4000 + .align 3 +$LC15: + .word 0x00000000 # 0.5 + .word 0x3fe00000 + .text + .align 2 + .globl main + .rdata + .align 2 +$LC18: + .ascii "%11.2f%11.2f%11.2f%11.0f%11.2f%11.2f\n\000" + .text + .align 2 + .globl print_time + .sdata + .align 3 +$LC19: + .word 0x00000000 # 32768 + .word 0x40e00000 + .align 3 +$LC20: + .word 0x00000000 # 16384 + .word 0x40d00000 + .text + .align 2 + .globl matgen + .sdata + .align 3 +$LC21: + .word 0x00000000 # -1 + .word 0xbff00000 + .text + .align 2 + .globl dgefa + .align 2 + .globl dgesl + .align 2 + .globl daxpy + .align 2 + .globl ddot + .align 2 + .globl dscal + .align 2 + .globl idamax + .sdata + .align 3 +$LC22: + .word 0x55555555 # 1.3333333333333332593 + .word 0x3ff55555 + .align 3 +$LC23: + .word 0x00000000 # 1 + .word 0x3ff00000 + .text + .align 2 + .globl epslon + .align 2 + .globl dmxpy + .sdata + .align 3 +$LC24: + .word 0xa0b5ed8d # 9.9999999999999995475e-07 + .word 0x3eb0c6f7 + .text + .align 2 + .globl dtime + + .lcomm st,384 + + .comm rusage,72 + + .text + + .loc 1 72 + .ent main +main: + .frame $fp,168,$31 # vars= 96, regs= 2/2, args= 48, extra= 0 + .mask 0xc0000000,-20 + .fmask 0x00f00000,-4 + subu $sp,$sp,168 + sw $31,148($sp) + sw $fp,144($sp) + s.d $f22,160($sp) + s.d $f20,152($sp) + move $fp,$sp + jal __main + li $2,0x000000c9 # 201 + sw $2,lda.11 + li $2,0x000000c8 # 200 + sw $2,ldaa.12 + l.d $f0,$LC0 + s.d $f0,48($fp) + li $2,0x00000019 # 25 + sw $2,n.7 + la $4,$LC1 + jal printf + la $4,$LC2 + jal printf + la $4,$LC3 + jal printf + lw $2,n.7 + lw $3,n.7 + mult $2,$3 + mflo $2 + lw $3,n.7 + mult $2,$3 + mflo $2 + mtc1 $2,$f20 + #nop + cvt.d.w $f20,$f20 + add.d $f0,$f20,$f20 + l.d $f2,$LC4 + div.d $f0,$f0,$f2 + lw $2,n.7 + lw $3,n.7 + mult $2,$3 + mflo $2 + mtc1 $2,$f22 + #nop + cvt.d.w $f22,$f22 + add.d $f2,$f22,$f22 + add.d $f0,$f0,$f2 + s.d $f0,56($fp) + addu $2,$fp,72 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+48 + l.d $f0,st + l.d $f2,st+48 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + sw $0,i.8 +$L2: + lw $2,i.8 + lw $3,n.7 + slt $2,$2,$3 + bne $2,$0,$L5 + j $L3 +$L5: + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,x.5 + addu $2,$2,$3 + lw $3,i.8 + move $4,$3 + sll $3,$4,3 + la $4,b.4 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) +$L4: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L2 +$L3: + addu $2,$fp,72 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,b.4 + jal matgen + sw $0,i.8 +$L6: + lw $2,i.8 + lw $3,n.7 + slt $2,$2,$3 + bne $2,$0,$L9 + j $L7 +$L9: + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,b.4 + addu $2,$2,$3 + lw $3,i.8 + move $4,$3 + sll $3,$4,3 + la $4,b.4 + addu $3,$3,$4 + l.d $f0,0($3) + neg.d $f2,$f0 + s.d $f2,0($2) +$L8: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L6 +$L7: + la $2,x.5 + sw $2,16($sp) + la $2,a.3 + sw $2,20($sp) + lw $4,n.7 + la $5,b.4 + lw $6,n.7 + lw $7,lda.11 + jal dmxpy + dsz 88($fp) + dsz 80($fp) + sw $0,i.8 +$L10: + lw $2,i.8 + lw $3,n.7 + slt $2,$2,$3 + bne $2,$0,$L13 + j $L11 +$L13: + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,b.4 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,88($fp) + c.lt.d $f0,$f2 + bc1f $L14 + l.d $f0,88($fp) + j $L15 +$L14: + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,b.4 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 +$L15: + s.d $f0,88($fp) + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,x.5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,80($fp) + c.lt.d $f0,$f2 + bc1f $L16 + l.d $f0,80($fp) + j $L17 +$L16: + lw $2,i.8 + move $3,$2 + sll $2,$3,3 + la $3,x.5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 +$L17: + s.d $f0,80($fp) +$L12: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L10 +$L11: + l.d $f12,$LC5 + jal epslon + s.d $f0,104($fp) + l.s $f0,n.7 + #nop + cvt.d.w $f0,$f0 + l.d $f2,72($fp) + mul.d $f0,$f0,$f2 + l.d $f2,80($fp) + mul.d $f0,$f0,$f2 + l.d $f2,104($fp) + mul.d $f0,$f0,$f2 + l.d $f2,88($fp) + div.d $f0,$f2,$f0 + s.d $f0,96($fp) + la $4,$LC6 + jal printf + la $4,$LC7 + jal printf + l.d $f0,88($fp) + s.d $f0,16($sp) + l.d $f0,104($fp) + s.d $f0,24($sp) + l.d $f0,x.5 + l.d $f2,$LC5 + sub.d $f0,$f0,$f2 + s.d $f0,32($sp) + lw $2,n.7 + move $3,$2 + sll $2,$3,3 + la $3,x.5-8 + addu $2,$2,$3 + l.d $f0,0($2) + l.d $f2,$LC5 + sub.d $f0,$f0,$f2 + s.d $f0,40($sp) + la $4,$LC8 + dlw $6,96($fp) + jal printf + la $4,$LC9 + lw $5,n.7 + jal printf + la $4,$LC10 + jal printf + la $4,$LC11 + jal printf + l.d $f0,64($fp) + s.d $f0,st+96 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+144 + l.d $f0,$LC13 + l.d $f2,st+144 + div.d $f0,$f0,$f2 + s.d $f0,st+192 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+240 + la $4,$LC14 + lw $5,lda.11 + jal printf + move $4,$0 + jal print_time + addu $2,$fp,72 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+8 + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+56 + l.d $f0,st+8 + l.d $f2,st+56 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+104 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+152 + l.d $f0,$LC13 + l.d $f2,st+152 + div.d $f0,$f0,$f2 + s.d $f0,st+200 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+248 + addu $2,$fp,72 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+16 + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+64 + l.d $f0,st+16 + l.d $f2,st+64 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+112 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+160 + l.d $f0,$LC13 + l.d $f2,st+160 + div.d $f0,$f0,$f2 + s.d $f0,st+208 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+256 + li $2,0x00000001 # 1 + sw $2,ntimes.9 + dsz 136($fp) + jal dtime + s.d $f0,120($fp) + sw $0,i.8 +$L18: + lw $2,i.8 + lw $3,ntimes.9 + slt $2,$2,$3 + bne $2,$0,$L21 + j $L19 +$L21: + jal dtime + s.d $f0,128($fp) + addu $2,$fp,72 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + l.d $f2,136($fp) + add.d $f0,$f0,$f2 + l.d $f2,128($fp) + sub.d $f0,$f0,$f2 + s.d $f0,136($fp) + la $2,info.10 + sw $2,16($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa +$L20: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L18 +$L19: + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + l.d $f2,136($fp) + sub.d $f0,$f0,$f2 + l.s $f2,ntimes.9 + #nop + cvt.d.w $f2,$f2 + div.d $f0,$f0,$f2 + s.d $f0,st+24 + jal dtime + s.d $f0,120($fp) + sw $0,i.8 +$L22: + lw $2,i.8 + lw $3,ntimes.9 + slt $2,$2,$3 + bne $2,$0,$L25 + j $L23 +$L25: + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,a.3 + lw $5,lda.11 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl +$L24: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L22 +$L23: + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + l.s $f2,ntimes.9 + #nop + cvt.d.w $f2,$f2 + div.d $f0,$f0,$f2 + s.d $f0,st+72 + l.d $f0,st+24 + l.d $f2,st+72 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+120 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+168 + l.d $f0,$LC13 + l.d $f2,st+168 + div.d $f0,$f0,$f2 + s.d $f0,st+216 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+264 + li $4,0x00000001 # 1 + jal print_time + li $4,0x00000002 # 2 + jal print_time + li $4,0x00000003 # 3 + jal print_time + addu $2,$fp,72 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+32 + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+80 + l.d $f0,st+32 + l.d $f2,st+80 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+128 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+176 + l.d $f0,$LC13 + l.d $f2,st+176 + div.d $f0,$f0,$f2 + s.d $f0,st+224 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+272 + addu $2,$fp,72 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+40 + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+88 + l.d $f0,st+40 + l.d $f2,st+88 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+136 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+184 + l.d $f0,$LC13 + l.d $f2,st+184 + div.d $f0,$f0,$f2 + s.d $f0,st+232 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+280 + addu $2,$fp,72 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + s.d $f0,120($fp) + la $2,info.10 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+48 + jal dtime + s.d $f0,120($fp) + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + s.d $f0,st+96 + l.d $f0,st+48 + l.d $f2,st+96 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+144 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+192 + l.d $f0,$LC13 + l.d $f2,st+192 + div.d $f0,$f0,$f2 + s.d $f0,st+240 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+288 + li $2,0x00000001 # 1 + sw $2,ntimes.9 + dsz 136($fp) + jal dtime + s.d $f0,120($fp) + sw $0,i.8 +$L26: + lw $2,i.8 + lw $3,ntimes.9 + slt $2,$2,$3 + bne $2,$0,$L29 + j $L27 +$L29: + jal dtime + s.d $f0,128($fp) + addu $2,$fp,72 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,b.4 + jal matgen + jal dtime + l.d $f2,136($fp) + add.d $f0,$f0,$f2 + l.d $f2,128($fp) + sub.d $f0,$f0,$f2 + s.d $f0,136($fp) + la $2,info.10 + sw $2,16($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgefa +$L28: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L26 +$L27: + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + l.d $f2,136($fp) + sub.d $f0,$f0,$f2 + l.s $f2,ntimes.9 + #nop + cvt.d.w $f2,$f2 + div.d $f0,$f0,$f2 + s.d $f0,st+56 + jal dtime + s.d $f0,120($fp) + sw $0,i.8 +$L30: + lw $2,i.8 + lw $3,ntimes.9 + slt $2,$2,$3 + bne $2,$0,$L33 + j $L31 +$L33: + la $2,b.4 + sw $2,16($sp) + sw $0,20($sp) + la $4,aa.2 + lw $5,ldaa.12 + lw $6,n.7 + la $7,ipvt.6 + jal dgesl +$L32: + lw $3,i.8 + addu $2,$3,1 + move $3,$2 + sw $3,i.8 + j $L30 +$L31: + jal dtime + l.d $f2,120($fp) + sub.d $f0,$f0,$f2 + l.s $f2,ntimes.9 + #nop + cvt.d.w $f2,$f2 + div.d $f0,$f0,$f2 + s.d $f0,st+104 + l.d $f0,st+56 + l.d $f2,st+104 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.d $f0,64($fp) + s.d $f0,st+152 + l.d $f0,64($fp) + l.d $f2,$LC12 + mul.d $f0,$f0,$f2 + l.d $f2,56($fp) + div.d $f0,$f2,$f0 + s.d $f0,st+200 + l.d $f0,$LC13 + l.d $f2,st+200 + div.d $f0,$f0,$f2 + s.d $f0,st+248 + l.d $f0,64($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + s.d $f0,st+296 + l.d $f0,st+168 + mtc1 $0,$f2 + mtc1 $0,$f3 + c.lt.d $f0,$f2 + bc1f $L34 + dsz st+168 +$L34: + l.d $f0,st+200 + mtc1 $0,$f2 + mtc1 $0,$f3 + c.lt.d $f0,$f2 + bc1f $L35 + dsz st+200 +$L35: + l.d $f0,st+168 + s.d $f0,112($fp) + l.d $f0,st+200 + l.d $f2,st+168 + c.lt.d $f0,$f2 + bc1f $L36 + l.d $f0,st+200 + s.d $f0,112($fp) +$L36: + l.d $f0,112($fp) + l.d $f2,$LC15 + add.d $f0,$f0,$f2 + trunc.w.d $f4,$f0,$8 + s.s $f4,kflops.13 + la $4,$LC16 + lw $5,ldaa.12 + jal printf + li $4,0x00000004 # 4 + jal print_time + li $4,0x00000005 # 5 + jal print_time + li $4,0x00000006 # 6 + jal print_time + li $4,0x00000007 # 7 + jal print_time + la $4,$LC1 + jal printf + la $4,$LC2 + jal printf + la $4,$LC17 + lw $5,kflops.13 + li $6,0x00000001 # 1 + jal printf +$L1: + move $sp,$fp # sp not trusted here + lw $31,148($sp) + lw $fp,144($sp) + l.d $f22,160($sp) + l.d $f20,152($sp) + addu $sp,$sp,168 + j $31 + .end main + + .loc 1 300 + .ent print_time +print_time: + .frame $fp,64,$31 # vars= 0, regs= 2/0, args= 56, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,64 + sw $31,60($sp) + sw $fp,56($sp) + move $fp,$sp + sw $4,64($fp) + lw $2,64($fp) + move $3,$2 + sll $2,$3,3 + la $3,st + addu $2,$2,$3 + lw $3,64($fp) + move $4,$3 + sll $3,$4,3 + la $4,st+48 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,16($sp) + lw $3,64($fp) + move $4,$3 + sll $3,$4,3 + la $4,st+96 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,24($sp) + lw $3,64($fp) + move $4,$3 + sll $3,$4,3 + la $4,st+144 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,32($sp) + lw $3,64($fp) + move $4,$3 + sll $3,$4,3 + la $4,st+192 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,40($sp) + lw $3,64($fp) + move $4,$3 + sll $3,$4,3 + la $4,st+240 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,48($sp) + la $4,$LC18 + dlw $6,0($2) + jal printf +$L37: + move $sp,$fp # sp not trusted here + lw $31,60($sp) + lw $fp,56($sp) + addu $sp,$sp,64 + j $31 + .end print_time + + .loc 1 309 + .ent matgen +matgen: + .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + sw $5,28($fp) + sw $6,32($fp) + sw $7,36($fp) + li $2,0x0000052d # 1325 + sw $2,0($fp) + lw $2,40($fp) + dsz 0($2) + sw $0,8($fp) +$L39: + lw $2,8($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L42 + j $L40 +$L42: + sw $0,4($fp) +$L43: + lw $2,4($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L46 + j $L44 +$L46: + lw $3,0($fp) + move $4,$3 + sll $2,$4,1 + addu $2,$2,$3 + sll $4,$2,6 + addu $2,$2,$4 + sll $4,$2,2 + addu $4,$4,$3 + sll $2,$4,2 + addu $2,$2,$3 + move $3,$2 + bgez $3,$L47 + li $4,0x0000ffff # 65535 + addu $3,$3,$4 +$L47: + sra $3,$3,16 + move $4,$3 + sll $3,$4,16 + subu $2,$2,$3 + sw $2,0($fp) + lw $2,28($fp) + lw $3,8($fp) + mult $2,$3 + mflo $2 + lw $3,4($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,24($fp) + addu $2,$2,$3 + l.s $f0,0($fp) + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC19 + sub.d $f0,$f0,$f2 + l.d $f2,$LC20 + div.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,40($fp) + lw $3,28($fp) + lw $4,8($fp) + mult $3,$4 + mflo $3 + lw $4,4($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,24($fp) + addu $3,$3,$4 + lw $4,40($fp) + l.d $f0,0($3) + l.d $f2,0($4) + c.lt.d $f2,$f0 + bc1f $L48 + lw $3,28($fp) + lw $4,8($fp) + mult $3,$4 + mflo $3 + lw $4,4($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,24($fp) + addu $3,$3,$4 + l.d $f0,0($3) + j $L49 +$L48: + lw $3,40($fp) + l.d $f0,0($3) +$L49: + s.d $f0,0($2) +$L45: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L43 +$L44: +$L41: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L39 +$L40: + .set noreorder + nop + .set reorder + sw $0,4($fp) +$L50: + lw $2,4($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L53 + j $L51 +$L53: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + dsz 0($2) +$L52: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L50 +$L51: + .set noreorder + nop + .set reorder + sw $0,8($fp) +$L54: + lw $2,8($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L57 + j $L55 +$L57: + sw $0,4($fp) +$L58: + lw $2,4($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L61 + j $L59 +$L61: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,36($fp) + addu $3,$3,$4 + lw $4,28($fp) + lw $5,8($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,24($fp) + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + add.d $f0,$f0,$f2 + s.d $f0,0($2) +$L60: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L58 +$L59: +$L56: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L54 +$L55: +$L38: + move $sp,$fp # sp not trusted here + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end matgen + + .loc 1 339 + .ent dgefa +dgefa: + .frame $fp,72,$31 # vars= 32, regs= 2/0, args= 32, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,72 + sw $31,68($sp) + sw $fp,64($sp) + move $fp,$sp + sw $4,72($fp) + sw $5,76($fp) + sw $6,80($fp) + sw $7,84($fp) + lw $2,88($fp) + sw $0,0($2) + lw $2,80($fp) + subu $3,$2,1 + sw $3,56($fp) + lw $2,56($fp) + bltz $2,$L63 + sw $0,44($fp) +$L64: + lw $2,44($fp) + lw $3,56($fp) + slt $2,$2,$3 + bne $2,$0,$L67 + j $L65 +$L67: + lw $2,44($fp) + addu $3,$2,1 + sw $3,48($fp) + lw $2,80($fp) + lw $3,44($fp) + subu $2,$2,$3 + lw $3,76($fp) + lw $4,44($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,72($fp) + addu $3,$3,$4 + move $4,$2 + move $5,$3 + li $6,0x00000001 # 1 + jal idamax + lw $3,44($fp) + addu $2,$2,$3 + sw $2,52($fp) + lw $2,44($fp) + move $3,$2 + sll $2,$3,2 + lw $3,84($fp) + addu $2,$2,$3 + lw $3,52($fp) + sw $3,0($2) + lw $2,76($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + lw $3,52($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,0($2) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1t $L68 + lw $2,52($fp) + lw $3,44($fp) + beq $2,$3,$L69 + lw $2,76($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + lw $3,52($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,32($fp) + lw $2,76($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + lw $3,52($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + lw $3,76($fp) + lw $4,44($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,72($fp) + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + lw $2,76($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + lw $3,44($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,32($fp) + s.d $f0,0($2) +$L69: + lw $2,76($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + lw $3,44($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,$LC21 + l.d $f2,0($2) + div.d $f0,$f0,$f2 + s.d $f0,32($fp) + lw $3,80($fp) + subu $2,$3,1 + lw $3,44($fp) + subu $2,$2,$3 + lw $3,76($fp) + lw $4,44($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $3,72($fp) + addu $4,$3,$4 + sw $4,16($sp) + li $3,0x00000001 # 1 + sw $3,20($sp) + move $4,$2 + dlw $6,32($fp) + jal dscal + lw $2,48($fp) + sw $2,40($fp) +$L70: + lw $2,40($fp) + lw $3,80($fp) + slt $2,$2,$3 + bne $2,$0,$L73 + j $L71 +$L73: + lw $2,76($fp) + lw $3,40($fp) + mult $2,$3 + mflo $2 + lw $3,52($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,32($fp) + lw $2,52($fp) + lw $3,44($fp) + beq $2,$3,$L74 + lw $2,76($fp) + lw $3,40($fp) + mult $2,$3 + mflo $2 + lw $3,52($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + lw $3,76($fp) + lw $4,40($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,72($fp) + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + lw $2,76($fp) + lw $3,40($fp) + mult $2,$3 + mflo $2 + lw $3,44($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + l.d $f0,32($fp) + s.d $f0,0($2) +$L74: + lw $3,80($fp) + subu $2,$3,1 + lw $3,44($fp) + subu $2,$2,$3 + lw $3,76($fp) + lw $4,44($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $3,72($fp) + addu $4,$3,$4 + sw $4,16($sp) + li $3,0x00000001 # 1 + sw $3,20($sp) + lw $3,76($fp) + lw $4,40($fp) + mult $3,$4 + mflo $3 + lw $4,44($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $3,72($fp) + addu $4,$3,$4 + sw $4,24($sp) + li $3,0x00000001 # 1 + sw $3,28($sp) + move $4,$2 + dlw $6,32($fp) + jal daxpy +$L72: + lw $3,40($fp) + addu $2,$3,1 + move $3,$2 + sw $3,40($fp) + j $L70 +$L71: + j $L75 +$L68: + lw $2,88($fp) + lw $3,44($fp) + sw $3,0($2) +$L75: +$L66: + lw $3,44($fp) + addu $2,$3,1 + move $3,$2 + sw $3,44($fp) + j $L64 +$L65: +$L63: + lw $2,80($fp) + move $3,$2 + sll $2,$3,2 + lw $4,84($fp) + addu $3,$2,$4 + subu $2,$3,4 + lw $3,80($fp) + subu $4,$3,1 + sw $4,0($2) + lw $3,80($fp) + subu $2,$3,1 + lw $3,76($fp) + mult $2,$3 + mflo $2 + lw $3,80($fp) + addu $2,$2,$3 + move $3,$2 + sll $2,$3,3 + lw $3,72($fp) + addu $2,$2,$3 + subu $3,$2,8 + l.d $f0,0($3) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1f $L76 + lw $2,88($fp) + lw $3,80($fp) + subu $4,$3,1 + sw $4,0($2) +$L76: +$L62: + move $sp,$fp # sp not trusted here + lw $31,68($sp) + lw $fp,64($sp) + addu $sp,$sp,72 + j $31 + .end dgefa + + .loc 1 455 + .ent dgesl +dgesl: + .frame $fp,64,$31 # vars= 24, regs= 2/0, args= 32, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,64 + sw $31,60($sp) + sw $fp,56($sp) + move $fp,$sp + sw $4,64($fp) + sw $5,68($fp) + sw $6,72($fp) + sw $7,76($fp) + lw $2,72($fp) + subu $3,$2,1 + sw $3,52($fp) + lw $2,84($fp) + bne $2,$0,$L78 + lw $2,52($fp) + blez $2,$L79 + sw $0,40($fp) +$L80: + lw $2,40($fp) + lw $3,52($fp) + slt $2,$2,$3 + bne $2,$0,$L83 + j $L81 +$L83: + lw $2,40($fp) + move $3,$2 + sll $2,$3,2 + lw $3,76($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,48($fp) + lw $2,48($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,32($fp) + lw $2,48($fp) + lw $3,40($fp) + beq $2,$3,$L84 + lw $2,48($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + lw $4,80($fp) + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + l.d $f0,32($fp) + s.d $f0,0($2) +$L84: + lw $3,72($fp) + subu $2,$3,1 + lw $3,40($fp) + subu $2,$2,$3 + lw $3,68($fp) + lw $4,40($fp) + mult $3,$4 + mflo $3 + lw $4,40($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $3,64($fp) + addu $4,$3,$4 + sw $4,16($sp) + li $3,0x00000001 # 1 + sw $3,20($sp) + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $3,80($fp) + addu $4,$3,$4 + sw $4,24($sp) + li $3,0x00000001 # 1 + sw $3,28($sp) + move $4,$2 + dlw $6,32($fp) + jal daxpy +$L82: + lw $3,40($fp) + addu $2,$3,1 + move $3,$2 + sw $3,40($fp) + j $L80 +$L81: +$L79: + .set noreorder + nop + .set reorder + sw $0,44($fp) +$L85: + lw $2,44($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L88 + j $L86 +$L88: + lw $3,72($fp) + subu $2,$3,1 + lw $3,44($fp) + subu $2,$2,$3 + sw $2,40($fp) + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + lw $4,80($fp) + addu $3,$3,$4 + lw $4,68($fp) + lw $5,40($fp) + mult $4,$5 + mflo $4 + lw $5,40($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,64($fp) + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + div.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + l.d $f0,0($2) + neg.d $f2,$f0 + s.d $f2,32($fp) + lw $2,68($fp) + lw $3,40($fp) + mult $2,$3 + mflo $2 + move $3,$2 + sll $2,$3,3 + lw $3,64($fp) + addu $2,$3,$2 + sw $2,16($sp) + li $2,0x00000001 # 1 + sw $2,20($sp) + lw $2,80($fp) + sw $2,24($sp) + li $2,0x00000001 # 1 + sw $2,28($sp) + lw $4,40($fp) + dlw $6,32($fp) + jal daxpy +$L87: + lw $3,44($fp) + addu $2,$3,1 + move $3,$2 + sw $3,44($fp) + j $L85 +$L86: + j $L89 +$L78: + sw $0,40($fp) +$L90: + lw $2,40($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L93 + j $L91 +$L93: + lw $2,68($fp) + lw $3,40($fp) + mult $2,$3 + mflo $2 + move $3,$2 + sll $2,$3,3 + lw $3,64($fp) + addu $2,$2,$3 + li $3,0x00000001 # 1 + sw $3,16($sp) + lw $4,40($fp) + move $5,$2 + li $6,0x00000001 # 1 + lw $7,80($fp) + jal ddot + s.d $f0,32($fp) + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + lw $4,80($fp) + addu $3,$3,$4 + l.d $f0,0($3) + l.d $f2,32($fp) + sub.d $f0,$f0,$f2 + lw $3,68($fp) + lw $4,40($fp) + mult $3,$4 + mflo $3 + lw $4,40($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + lw $4,64($fp) + addu $3,$3,$4 + l.d $f2,0($3) + div.d $f0,$f0,$f2 + s.d $f0,0($2) +$L92: + lw $3,40($fp) + addu $2,$3,1 + move $3,$2 + sw $3,40($fp) + j $L90 +$L91: + lw $2,52($fp) + blez $2,$L94 + li $2,0x00000001 # 1 + sw $2,44($fp) +$L95: + lw $2,44($fp) + lw $3,52($fp) + slt $2,$2,$3 + bne $2,$0,$L98 + j $L96 +$L98: + lw $3,72($fp) + subu $2,$3,1 + lw $3,44($fp) + subu $2,$2,$3 + sw $2,40($fp) + lw $3,72($fp) + subu $2,$3,1 + lw $3,40($fp) + subu $2,$2,$3 + lw $3,68($fp) + lw $4,40($fp) + mult $3,$4 + mflo $3 + lw $4,40($fp) + addu $3,$3,$4 + move $4,$3 + sll $3,$4,3 + addu $4,$3,8 + lw $5,64($fp) + addu $3,$4,$5 + lw $4,40($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$4,8 + lw $4,80($fp) + addu $7,$5,$4 + li $4,0x00000001 # 1 + sw $4,16($sp) + move $4,$2 + move $5,$3 + li $6,0x00000001 # 1 + jal ddot + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + lw $4,80($fp) + addu $3,$3,$4 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) + lw $2,40($fp) + move $3,$2 + sll $2,$3,2 + lw $3,76($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,48($fp) + lw $2,48($fp) + lw $3,40($fp) + beq $2,$3,$L99 + lw $2,48($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,32($fp) + lw $2,48($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + lw $3,40($fp) + move $4,$3 + sll $3,$4,3 + lw $4,80($fp) + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,80($fp) + addu $2,$2,$3 + l.d $f0,32($fp) + s.d $f0,0($2) +$L99: +$L97: + lw $3,44($fp) + addu $2,$3,1 + move $3,$2 + sw $3,44($fp) + j $L95 +$L96: +$L94: +$L89: +$L77: + move $sp,$fp # sp not trusted here + lw $31,60($sp) + lw $fp,56($sp) + addu $sp,$sp,64 + j $31 + .end dgesl + + .loc 1 585 + .ent daxpy +daxpy: + .frame $fp,32,$31 # vars= 24, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,32 + sw $fp,24($sp) + move $fp,$sp + sw $4,32($fp) + dsw $6,40($fp) + lw $2,32($fp) + bgtz $2,$L101 + j $L100 +$L101: + l.d $f0,40($fp) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1f $L102 + j $L100 +$L102: + lw $2,52($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L104 + lw $2,60($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L104 + j $L103 +$L104: + li $2,0x00000001 # 1 + sw $2,4($fp) + li $2,0x00000001 # 1 + sw $2,8($fp) + lw $2,52($fp) + bgez $2,$L105 + lw $3,32($fp) + subu $2,$0,$3 + addu $3,$2,1 + lw $4,52($fp) + mult $3,$4 + mflo $2 + addu $3,$2,1 + sw $3,4($fp) +$L105: + lw $2,60($fp) + bgez $2,$L106 + lw $3,32($fp) + subu $2,$0,$3 + addu $3,$2,1 + lw $4,60($fp) + mult $3,$4 + mflo $2 + addu $3,$2,1 + sw $3,8($fp) +$L106: + .set noreorder + nop + .set reorder + sw $0,0($fp) +$L107: + lw $2,0($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L110 + j $L108 +$L110: + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $3,56($fp) + addu $2,$2,$3 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,56($fp) + addu $3,$3,$4 + lw $4,4($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + l.d $f0,40($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) + lw $2,4($fp) + lw $3,52($fp) + addu $2,$2,$3 + sw $2,4($fp) + lw $2,8($fp) + lw $3,60($fp) + addu $2,$2,$3 + sw $2,8($fp) +$L109: + lw $3,0($fp) + addu $2,$3,1 + move $3,$2 + sw $3,0($fp) + j $L107 +$L108: + j $L100 +$L103: + lw $2,32($fp) + move $3,$2 + bgez $3,$L111 + addu $3,$3,3 +$L111: + sra $3,$3,2 + move $4,$3 + sll $3,$4,2 + subu $2,$2,$3 + sw $2,12($fp) + lw $2,12($fp) + beq $2,$0,$L112 + sw $0,0($fp) +$L113: + lw $2,0($fp) + lw $3,12($fp) + slt $2,$2,$3 + bne $2,$0,$L116 + j $L114 +$L116: + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $3,56($fp) + addu $2,$2,$3 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,56($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + l.d $f0,40($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) +$L115: + lw $3,0($fp) + addu $2,$3,1 + move $3,$2 + sw $3,0($fp) + j $L113 +$L114: + lw $2,32($fp) + slt $3,$2,4 + beq $3,$0,$L117 + j $L100 +$L117: +$L112: + .set noreorder + nop + .set reorder + lw $2,12($fp) + sw $2,0($fp) +$L118: + lw $2,0($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L121 + j $L119 +$L121: + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $3,56($fp) + addu $2,$2,$3 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,56($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + l.d $f0,40($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,56($fp) + addu $3,$2,$4 + addu $2,$3,8 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,56($fp) + addu $4,$3,$5 + addu $3,$4,8 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + addu $5,$4,8 + l.d $f0,40($fp) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,56($fp) + addu $3,$2,$4 + addu $2,$3,16 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,56($fp) + addu $4,$3,$5 + addu $3,$4,16 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + addu $5,$4,16 + l.d $f0,40($fp) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,56($fp) + addu $3,$2,$4 + addu $2,$3,24 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,56($fp) + addu $4,$3,$5 + addu $3,$4,24 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,48($fp) + addu $4,$4,$5 + addu $5,$4,24 + l.d $f0,40($fp) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) +$L120: + lw $2,0($fp) + addu $3,$2,4 + sw $3,0($fp) + j $L118 +$L119: +$L100: + move $sp,$fp # sp not trusted here + lw $fp,24($sp) + addu $sp,$sp,32 + j $31 + .end daxpy + + .loc 1 641 + .ent ddot +ddot: + .frame $fp,40,$31 # vars= 32, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,40 + sw $fp,32($sp) + move $fp,$sp + sw $4,40($fp) + sw $5,44($fp) + sw $6,48($fp) + sw $7,52($fp) + dsz 0($fp) + lw $2,40($fp) + bgtz $2,$L123 + mtc1 $0,$f0 + mtc1 $0,$f1 + j $L122 +$L123: + lw $2,48($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L125 + lw $2,56($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L125 + j $L124 +$L125: + sw $0,12($fp) + sw $0,16($fp) + lw $2,48($fp) + bgez $2,$L126 + lw $3,40($fp) + subu $2,$0,$3 + addu $3,$2,1 + lw $2,48($fp) + mult $3,$2 + mflo $3 + sw $3,12($fp) +$L126: + lw $2,56($fp) + bgez $2,$L127 + lw $3,40($fp) + subu $2,$0,$3 + addu $3,$2,1 + lw $2,56($fp) + mult $3,$2 + mflo $3 + sw $3,16($fp) +$L127: + .set noreorder + nop + .set reorder + sw $0,8($fp) +$L128: + lw $2,8($fp) + lw $3,40($fp) + slt $2,$2,$3 + bne $2,$0,$L131 + j $L129 +$L131: + lw $2,12($fp) + move $3,$2 + sll $2,$3,3 + lw $3,44($fp) + addu $2,$2,$3 + lw $3,16($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + l.d $f2,0($fp) + add.d $f0,$f2,$f0 + s.d $f0,0($fp) + lw $2,12($fp) + lw $3,48($fp) + addu $2,$2,$3 + sw $2,12($fp) + lw $2,16($fp) + lw $3,56($fp) + addu $2,$2,$3 + sw $2,16($fp) +$L130: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L128 +$L129: + l.d $f0,0($fp) + j $L122 +$L124: + lw $2,40($fp) + li $6,0x66666667 # 1717986919 + mult $2,$6 + mfhi $5 + mflo $4 + srl $6,$5,0 + move $7,$0 + sra $3,$6,1 + sra $4,$2,31 + subu $3,$3,$4 + move $5,$3 + sll $4,$5,2 + addu $4,$4,$3 + subu $2,$2,$4 + sw $2,20($fp) + lw $2,20($fp) + beq $2,$0,$L132 + sw $0,8($fp) +$L133: + lw $2,8($fp) + lw $3,20($fp) + slt $2,$2,$3 + bne $2,$0,$L136 + j $L134 +$L136: + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $3,44($fp) + addu $2,$2,$3 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + l.d $f2,0($fp) + add.d $f0,$f2,$f0 + s.d $f0,0($fp) +$L135: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L133 +$L134: + lw $2,40($fp) + slt $3,$2,5 + beq $3,$0,$L137 + l.d $f0,0($fp) + j $L122 +$L137: +$L132: + .set noreorder + nop + .set reorder + lw $2,20($fp) + sw $2,8($fp) +$L138: + lw $2,8($fp) + lw $3,40($fp) + slt $2,$2,$3 + bne $2,$0,$L141 + j $L139 +$L141: + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $3,44($fp) + addu $2,$2,$3 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + l.d $f2,0($fp) + add.d $f0,$f0,$f2 + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $4,44($fp) + addu $3,$2,$4 + addu $2,$3,8 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + addu $4,$3,8 + l.d $f2,0($2) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $4,44($fp) + addu $3,$2,$4 + addu $2,$3,16 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + addu $4,$3,16 + l.d $f2,0($2) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $4,44($fp) + addu $3,$2,$4 + addu $2,$3,24 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + addu $4,$3,24 + l.d $f2,0($2) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $4,44($fp) + addu $3,$2,$4 + addu $2,$3,32 + lw $3,8($fp) + move $4,$3 + sll $3,$4,3 + lw $4,52($fp) + addu $3,$3,$4 + addu $4,$3,32 + l.d $f2,0($2) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,0($fp) +$L140: + lw $2,8($fp) + addu $3,$2,5 + sw $3,8($fp) + j $L138 +$L139: + l.d $f0,0($fp) + j $L122 +$L122: + move $sp,$fp # sp not trusted here + lw $fp,32($sp) + addu $sp,$sp,40 + j $31 + .end ddot + + .loc 1 699 + .ent dscal +dscal: + .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + dsw $6,32($fp) + lw $2,24($fp) + bgtz $2,$L143 + j $L142 +$L143: + lw $2,44($fp) + li $3,0x00000001 # 1 + beq $2,$3,$L144 + lw $2,24($fp) + lw $3,44($fp) + mult $2,$3 + mflo $2 + sw $2,12($fp) + sw $0,0($fp) +$L145: + lw $2,0($fp) + lw $3,12($fp) + slt $2,$2,$3 + bne $2,$0,$L148 + j $L146 +$L148: + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $3,40($fp) + addu $2,$2,$3 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + l.d $f0,32($fp) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L147: + lw $2,0($fp) + lw $3,44($fp) + addu $2,$2,$3 + sw $2,0($fp) + j $L145 +$L146: + j $L142 +$L144: + lw $2,24($fp) + li $6,0x66666667 # 1717986919 + mult $2,$6 + mfhi $5 + mflo $4 + srl $6,$5,0 + move $7,$0 + sra $3,$6,1 + sra $4,$2,31 + subu $3,$3,$4 + move $5,$3 + sll $4,$5,2 + addu $4,$4,$3 + subu $2,$2,$4 + sw $2,4($fp) + lw $2,4($fp) + beq $2,$0,$L149 + sw $0,0($fp) +$L150: + lw $2,0($fp) + lw $3,4($fp) + slt $2,$2,$3 + bne $2,$0,$L153 + j $L151 +$L153: + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $3,40($fp) + addu $2,$2,$3 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + l.d $f0,32($fp) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L152: + lw $3,0($fp) + addu $2,$3,1 + move $3,$2 + sw $3,0($fp) + j $L150 +$L151: + lw $2,24($fp) + slt $3,$2,5 + beq $3,$0,$L154 + j $L142 +$L154: +$L149: + .set noreorder + nop + .set reorder + lw $2,4($fp) + sw $2,0($fp) +$L155: + lw $2,0($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L158 + j $L156 +$L158: + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $3,40($fp) + addu $2,$2,$3 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + l.d $f0,32($fp) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,40($fp) + addu $3,$2,$4 + addu $2,$3,8 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + addu $4,$3,8 + l.d $f0,32($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,40($fp) + addu $3,$2,$4 + addu $2,$3,16 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + addu $4,$3,16 + l.d $f0,32($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,40($fp) + addu $3,$2,$4 + addu $2,$3,24 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + addu $4,$3,24 + l.d $f0,32($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,3 + lw $4,40($fp) + addu $3,$2,$4 + addu $2,$3,32 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + addu $4,$3,32 + l.d $f0,32($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L157: + lw $2,0($fp) + addu $3,$2,5 + sw $3,0($fp) + j $L155 +$L156: +$L142: + move $sp,$fp # sp not trusted here + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end dscal + + .loc 1 748 + .ent idamax +idamax: + .frame $fp,32,$31 # vars= 24, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,32 + sw $fp,24($sp) + move $fp,$sp + sw $4,32($fp) + sw $5,36($fp) + sw $6,40($fp) + lw $2,32($fp) + bgtz $2,$L160 + li $2,-1 # 0xffffffff + j $L159 +$L160: + lw $2,32($fp) + li $3,0x00000001 # 1 + bne $2,$3,$L161 + move $2,$0 + j $L159 +$L161: + lw $2,40($fp) + li $3,0x00000001 # 1 + beq $2,$3,$L162 + li $2,0x00000001 # 1 + sw $2,12($fp) + lw $2,36($fp) + l.d $f0,0($2) + abs.d $f2,$f0 + s.d $f2,0($fp) + lw $2,12($fp) + lw $3,40($fp) + addu $2,$2,$3 + sw $2,12($fp) + li $2,0x00000001 # 1 + sw $2,8($fp) +$L163: + lw $2,8($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L166 + j $L164 +$L166: + lw $2,12($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,0($fp) + c.lt.d $f2,$f0 + bc1f $L167 + lw $2,8($fp) + sw $2,16($fp) + lw $2,12($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + l.d $f0,0($2) + abs.d $f2,$f0 + s.d $f2,0($fp) +$L167: + lw $2,12($fp) + lw $3,40($fp) + addu $2,$2,$3 + sw $2,12($fp) +$L165: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L163 +$L164: + j $L168 +$L162: + sw $0,16($fp) + lw $2,36($fp) + l.d $f0,0($2) + abs.d $f2,$f0 + s.d $f2,0($fp) + li $2,0x00000001 # 1 + sw $2,8($fp) +$L169: + lw $2,8($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L172 + j $L170 +$L172: + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,0($fp) + c.lt.d $f2,$f0 + bc1f $L173 + lw $2,8($fp) + sw $2,16($fp) + lw $2,8($fp) + move $3,$2 + sll $2,$3,3 + lw $3,36($fp) + addu $2,$2,$3 + l.d $f0,0($2) + abs.d $f2,$f0 + s.d $f2,0($fp) +$L173: +$L171: + lw $3,8($fp) + addu $2,$3,1 + move $3,$2 + sw $3,8($fp) + j $L169 +$L170: +$L168: + lw $2,16($fp) + j $L159 +$L159: + move $sp,$fp # sp not trusted here + lw $fp,24($sp) + addu $sp,$sp,32 + j $31 + .end idamax + + .loc 1 789 + .ent epslon +epslon: + .frame $fp,40,$31 # vars= 32, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,40 + sw $fp,32($sp) + move $fp,$sp + s.d $f12,40($fp) + l.d $f0,$LC22 + s.d $f0,0($fp) + dsz 24($fp) +$L175: + l.d $f0,24($fp) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1t $L177 + j $L176 +$L177: + l.d $f0,0($fp) + l.d $f2,$LC23 + sub.d $f0,$f0,$f2 + s.d $f0,8($fp) + l.d $f0,8($fp) + l.d $f2,8($fp) + add.d $f0,$f0,$f2 + l.d $f2,8($fp) + add.d $f0,$f0,$f2 + s.d $f0,16($fp) + l.d $f0,16($fp) + l.d $f2,$LC23 + sub.d $f0,$f0,$f2 + abs.d $f2,$f0 + s.d $f2,24($fp) + j $L175 +$L176: + l.d $f2,40($fp) + abs.d $f0,$f2 + l.d $f4,24($fp) + mul.d $f2,$f0,$f4 + mov.d $f0,$f2 + j $L174 +$L174: + move $sp,$fp # sp not trusted here + lw $fp,32($sp) + addu $sp,$sp,40 + j $31 + .end epslon + + .loc 1 836 + .ent dmxpy +dmxpy: + .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + sw $5,28($fp) + sw $6,32($fp) + sw $7,36($fp) + lw $2,32($fp) + sra $3,$2,31 + srl $4,$3,31 + addu $5,$2,$4 + sra $3,$5,1 + move $4,$3 + sll $3,$4,1 + subu $2,$2,$3 + sw $2,0($fp) + lw $2,0($fp) + blez $2,$L179 + lw $2,0($fp) + subu $3,$2,1 + sw $3,0($fp) + sw $0,4($fp) +$L180: + lw $2,4($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L183 + j $L181 +$L183: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,28($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,28($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $5,40($fp) + addu $4,$4,$5 + lw $5,36($fp) + lw $6,0($fp) + mult $5,$6 + mflo $5 + lw $6,4($fp) + addu $5,$5,$6 + move $6,$5 + sll $5,$6,3 + lw $6,44($fp) + addu $5,$5,$6 + l.d $f0,0($4) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f2,$f0 + s.d $f0,0($2) +$L182: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L180 +$L181: +$L179: + lw $2,32($fp) + move $3,$2 + bgez $3,$L184 + addu $3,$3,3 +$L184: + sra $3,$3,2 + move $4,$3 + sll $3,$4,2 + subu $2,$2,$3 + sw $2,0($fp) + lw $2,0($fp) + slt $3,$2,2 + bne $3,$0,$L185 + lw $2,0($fp) + subu $3,$2,1 + sw $3,0($fp) + sw $0,4($fp) +$L186: + lw $2,4($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L189 + j $L187 +$L189: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,28($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,28($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $6,40($fp) + addu $5,$4,$6 + subu $4,$5,8 + lw $6,0($fp) + subu $5,$6,1 + lw $6,36($fp) + mult $5,$6 + mflo $5 + lw $6,4($fp) + addu $5,$5,$6 + move $6,$5 + sll $5,$6,3 + lw $6,44($fp) + addu $5,$5,$6 + l.d $f0,0($4) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + lw $4,36($fp) + lw $5,0($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,0($2) +$L188: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L186 +$L187: +$L185: + lw $2,32($fp) + move $3,$2 + bgez $3,$L190 + addu $3,$3,7 +$L190: + sra $3,$3,3 + move $4,$3 + sll $3,$4,3 + subu $2,$2,$3 + sw $2,0($fp) + lw $2,0($fp) + slt $3,$2,4 + bne $3,$0,$L191 + lw $2,0($fp) + subu $3,$2,1 + sw $3,0($fp) + sw $0,4($fp) +$L192: + lw $2,4($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L195 + j $L193 +$L195: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,28($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,28($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $6,40($fp) + addu $5,$4,$6 + subu $4,$5,24 + lw $6,0($fp) + subu $5,$6,3 + lw $6,36($fp) + mult $5,$6 + mflo $5 + lw $6,4($fp) + addu $5,$5,$6 + move $6,$5 + sll $5,$6,3 + lw $6,44($fp) + addu $5,$5,$6 + l.d $f0,0($4) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,16 + lw $5,0($fp) + subu $4,$5,2 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,8 + lw $5,0($fp) + subu $4,$5,1 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + lw $4,36($fp) + lw $5,0($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,0($2) +$L194: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L192 +$L193: +$L191: + lw $2,32($fp) + move $3,$2 + bgez $3,$L196 + addu $3,$3,15 +$L196: + sra $3,$3,4 + move $4,$3 + sll $3,$4,4 + subu $2,$2,$3 + sw $2,0($fp) + lw $2,0($fp) + slt $3,$2,8 + bne $3,$0,$L197 + lw $2,0($fp) + subu $3,$2,1 + sw $3,0($fp) + sw $0,4($fp) +$L198: + lw $2,4($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L201 + j $L199 +$L201: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,28($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,28($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $6,40($fp) + addu $5,$4,$6 + subu $4,$5,56 + lw $6,0($fp) + subu $5,$6,7 + lw $6,36($fp) + mult $5,$6 + mflo $5 + lw $6,4($fp) + addu $5,$5,$6 + move $6,$5 + sll $5,$6,3 + lw $6,44($fp) + addu $5,$5,$6 + l.d $f0,0($4) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,48 + lw $5,0($fp) + subu $4,$5,6 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,40 + lw $5,0($fp) + subu $4,$5,5 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,32 + lw $5,0($fp) + subu $4,$5,4 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,24 + lw $5,0($fp) + subu $4,$5,3 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,16 + lw $5,0($fp) + subu $4,$5,2 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,8 + lw $5,0($fp) + subu $4,$5,1 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + lw $4,36($fp) + lw $5,0($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,0($2) +$L200: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L198 +$L199: +$L197: + lw $2,32($fp) + move $3,$2 + bgez $3,$L202 + addu $3,$3,15 +$L202: + sra $3,$3,4 + move $4,$3 + sll $3,$4,4 + subu $2,$2,$3 + addu $3,$2,16 + sw $3,8($fp) + lw $2,8($fp) + subu $3,$2,1 + sw $3,0($fp) +$L203: + lw $2,0($fp) + lw $3,32($fp) + slt $2,$2,$3 + bne $2,$0,$L206 + j $L204 +$L206: + sw $0,4($fp) +$L207: + lw $2,4($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L210 + j $L208 +$L210: + lw $2,4($fp) + move $3,$2 + sll $2,$3,3 + lw $3,28($fp) + addu $2,$2,$3 + lw $3,4($fp) + move $4,$3 + sll $3,$4,3 + lw $4,28($fp) + addu $3,$3,$4 + lw $4,0($fp) + move $5,$4 + sll $4,$5,3 + lw $6,40($fp) + addu $5,$4,$6 + subu $4,$5,120 + lw $6,0($fp) + subu $5,$6,15 + lw $6,36($fp) + mult $5,$6 + mflo $5 + lw $6,4($fp) + addu $5,$5,$6 + move $6,$5 + sll $5,$6,3 + lw $6,44($fp) + addu $5,$5,$6 + l.d $f0,0($4) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,112 + lw $5,0($fp) + subu $4,$5,14 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,104 + lw $5,0($fp) + subu $4,$5,13 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,96 + lw $5,0($fp) + subu $4,$5,12 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,88 + lw $5,0($fp) + subu $4,$5,11 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,80 + lw $5,0($fp) + subu $4,$5,10 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,72 + lw $5,0($fp) + subu $4,$5,9 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,64 + lw $5,0($fp) + subu $4,$5,8 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,56 + lw $5,0($fp) + subu $4,$5,7 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,48 + lw $5,0($fp) + subu $4,$5,6 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,40 + lw $5,0($fp) + subu $4,$5,5 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,32 + lw $5,0($fp) + subu $4,$5,4 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,24 + lw $5,0($fp) + subu $4,$5,3 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,16 + lw $5,0($fp) + subu $4,$5,2 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $5,40($fp) + addu $4,$3,$5 + subu $3,$4,8 + lw $5,0($fp) + subu $4,$5,1 + lw $5,36($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,0($fp) + move $4,$3 + sll $3,$4,3 + lw $4,40($fp) + addu $3,$3,$4 + lw $4,36($fp) + lw $5,0($fp) + mult $4,$5 + mflo $4 + lw $5,4($fp) + addu $4,$4,$5 + move $5,$4 + sll $4,$5,3 + lw $5,44($fp) + addu $4,$4,$5 + l.d $f2,0($3) + l.d $f4,0($4) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,0($2) +$L209: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L207 +$L208: +$L205: + lw $2,0($fp) + addu $3,$2,16 + sw $3,0($fp) + j $L203 +$L204: +$L178: + move $sp,$fp # sp not trusted here + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end dmxpy + + .loc 1 995 + .ent dtime +dtime: + .frame $fp,32,$31 # vars= 8, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,32 + sw $31,28($sp) + sw $fp,24($sp) + move $fp,$sp + move $4,$0 + la $5,rusage + jal getrusage + l.s $f0,rusage + #nop + cvt.d.w $f0,$f0 + s.d $f0,16($fp) + l.s $f0,rusage+4 + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC24 + mul.d $f0,$f0,$f2 + l.d $f2,16($fp) + add.d $f0,$f2,$f0 + s.d $f0,16($fp) + l.d $f0,16($fp) + j $L211 +$L211: + move $sp,$fp # sp not trusted here + lw $31,28($sp) + lw $fp,24($sp) + addu $sp,$sp,32 + j $31 + .end dtime diff --git a/benchmarks/build/dhrystone.s b/benchmarks/build/dhrystone.s new file mode 100644 index 0000000000000000000000000000000000000000..bef6b76318ebc866ca6e7d1a3a09b97cf923a4d9 --- /dev/null +++ b/benchmarks/build/dhrystone.s @@ -0,0 +1,923 @@ + .file 1 "dhrystone.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -O0 -o + +gcc2_compiled.: +__gnu_compiled_c: + .globl Version + .sdata + .align 2 +Version: + .ascii "1.1\000" + .text + .align 2 + .globl main + .rdata + .align 2 +$LC0: + .ascii "DHRYSTONE PROGRAM, SOME STRING\000" + .align 2 +$LC1: + .ascii "DHRYSTONE PROGRAM, 1'ST STRING\000" + .align 2 +$LC2: + .ascii "DHRYSTONE PROGRAM, 2'ND STRING\000" + .align 2 +$LC3: + .ascii "Dhrystone(%s) time for %ld passes = %ld\n\000" + .align 2 +$LC4: + .ascii "This machine benchmarks at %ld dhrystones/second\n\000" + .text + .align 2 + .globl Proc0 + .align 2 + .globl Proc1 + .align 2 + .globl Proc2 + .align 2 + .globl Proc3 + .align 2 + .globl Proc4 + .align 2 + .globl Proc5 + .align 2 + .globl Proc6 + .align 2 + .globl Proc7 + .align 2 + .globl Proc8 + .align 2 + .globl Func1 + .align 2 + .globl Func2 + .align 2 + .globl Func3 + + .comm IntGlob,4 + + .comm BoolGlob,4 + + .comm Char1Glob,1 + + .comm Char2Glob,1 + + .comm Array1Glob,204 + + .comm Array2Glob,10404 + + .comm PtrGlb,4 + + .comm PtrGlbNext,4 + + .text + + .loc 1 414 + .ent main +main: + .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $31,20($sp) + sw $fp,16($sp) + move $fp,$sp + jal __main + jal Proc0 + move $4,$0 + jal exit +$L1: + move $sp,$fp # sp not trusted here + lw $31,20($sp) + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end main + + .loc 1 432 + .ent Proc0 +Proc0: + .frame $fp,152,$31 # vars= 120, regs= 3/0, args= 16, extra= 0 + .mask 0xc0010000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,152 + sw $31,144($sp) + sw $fp,140($sp) + sw $16,136($sp) + move $fp,$sp + addu $2,$fp,120 + move $4,$2 + jal times + lw $2,120($fp) + sw $2,104($fp) + move $16,$0 +$L3: + sltu $2,$16,5000 + bne $2,$0,$L6 + j $L4 +$L6: +$L5: + addu $16,$16,1 + j $L3 +$L4: + addu $2,$fp,120 + move $4,$2 + jal times + lw $2,120($fp) + lw $3,104($fp) + subu $2,$2,$3 + sw $2,112($fp) + li $4,0x00000030 # 48 + jal malloc + sw $2,PtrGlbNext + li $4,0x00000030 # 48 + jal malloc + sw $2,PtrGlb + lw $2,PtrGlb + lw $3,PtrGlbNext + sw $3,0($2) + lw $2,PtrGlb + sw $0,4($2) + lw $2,PtrGlb + li $3,0x00000002 # 2 + sw $3,8($2) + lw $2,PtrGlb + li $3,0x00000028 # 40 + sw $3,12($2) + lw $3,PtrGlb + addu $2,$3,16 + move $4,$2 + la $5,$LC0 + jal strcpy + addu $2,$fp,40 + move $4,$2 + la $5,$LC1 + jal strcpy + li $2,0x0000000a # 10 + sw $2,Array2Glob+1660 + addu $2,$fp,120 + move $4,$2 + jal times + lw $2,120($fp) + sw $2,104($fp) + move $16,$0 +$L7: + sltu $2,$16,5000 + bne $2,$0,$L10 + j $L8 +$L10: + jal Proc5 + jal Proc4 + li $2,0x00000002 # 2 + sw $2,16($fp) + li $2,0x00000003 # 3 + sw $2,20($fp) + addu $2,$fp,72 + move $4,$2 + la $5,$LC2 + jal strcpy + li $2,0x00000001 # 1 + sw $2,32($fp) + addu $2,$fp,40 + addu $3,$fp,72 + move $4,$2 + move $5,$3 + jal Func2 + xori $3,$2,0x0000 + sltu $2,$3,1 + sw $2,BoolGlob +$L11: + lw $2,16($fp) + lw $3,20($fp) + slt $2,$2,$3 + bne $2,$0,$L13 + j $L12 +$L13: + lw $2,16($fp) + move $4,$2 + sll $3,$4,2 + addu $3,$3,$2 + lw $2,20($fp) + subu $3,$3,$2 + sw $3,24($fp) + addu $2,$fp,24 + lw $4,16($fp) + lw $5,20($fp) + move $6,$2 + jal Proc7 + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L11 +$L12: + la $4,Array1Glob + la $5,Array2Glob + lw $6,16($fp) + lw $7,24($fp) + jal Proc8 + lw $4,PtrGlb + jal Proc1 + li $2,0x00000041 # 65 + sb $2,29($fp) +$L14: + lb $2,29($fp) + lb $3,Char2Glob + slt $2,$3,$2 + beq $2,$0,$L17 + j $L15 +$L17: + lb $2,29($fp) + move $4,$2 + li $5,0x00000043 # 67 + jal Func1 + lw $3,32($fp) + bne $3,$2,$L18 + addu $2,$fp,32 + move $4,$0 + move $5,$2 + jal Proc6 +$L18: +$L16: + lbu $2,29($fp) + addu $3,$2,1 + move $2,$3 + sb $2,29($fp) + j $L14 +$L15: + lw $2,20($fp) + lw $3,16($fp) + mult $2,$3 + mflo $2 + sw $2,24($fp) + lw $2,24($fp) + lw $3,16($fp) + div $2,$2,$3 + sw $2,20($fp) + lw $2,24($fp) + lw $3,20($fp) + subu $2,$2,$3 + move $4,$2 + sll $3,$4,3 + subu $3,$3,$2 + lw $2,16($fp) + subu $3,$3,$2 + sw $3,20($fp) + addu $4,$fp,16 + jal Proc2 +$L9: + addu $16,$16,1 + j $L7 +$L8: + addu $2,$fp,120 + move $4,$2 + jal times + lw $2,120($fp) + lw $3,104($fp) + subu $2,$2,$3 + lw $3,112($fp) + subu $2,$2,$3 + sw $2,108($fp) + lw $2,108($fp) + li $6,0x51eb851f # 1374389535 + mult $2,$6 + mfhi $5 + mflo $4 + srl $6,$5,0 + move $7,$0 + sra $3,$6,5 + sra $4,$2,31 + subu $2,$3,$4 + la $4,$LC3 + la $5,Version + li $6,0x00001388 # 5000 + move $7,$2 + jal printf + li $2,0x0007a120 # 500000 + lw $3,108($fp) + div $2,$2,$3 + la $4,$LC4 + move $5,$2 + jal printf +$L2: + move $sp,$fp # sp not trusted here + lw $31,144($sp) + lw $fp,140($sp) + lw $16,136($sp) + addu $sp,$sp,152 + j $31 + .end Proc0 + + .loc 1 540 + .ent Proc1 +Proc1: + .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $31,20($sp) + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + lw $2,24($fp) + lw $3,0($2) + lw $2,PtrGlb + move $4,$3 + move $5,$2 + li $6,0x00000030 # 48 + jal memcpy + lw $2,24($fp) + li $3,0x00000005 # 5 + sw $3,12($2) + lw $3,24($fp) + lw $2,0($3) + lw $3,24($fp) + lw $4,12($3) + sw $4,12($2) + lw $3,24($fp) + lw $2,0($3) + lw $3,24($fp) + lw $4,0($3) + sw $4,0($2) + lw $2,24($fp) + lw $3,0($2) + lw $4,0($3) + jal Proc3 + lw $2,24($fp) + lw $3,0($2) + lw $2,4($3) + bne $2,$0,$L20 + lw $2,24($fp) + lw $3,0($2) + li $2,0x00000006 # 6 + sw $2,12($3) + lw $2,24($fp) + lw $3,24($fp) + lw $4,0($3) + addu $3,$4,8 + lw $4,8($2) + move $5,$3 + jal Proc6 + lw $3,24($fp) + lw $2,0($3) + lw $3,PtrGlb + lw $4,0($3) + sw $4,0($2) + lw $3,24($fp) + lw $2,0($3) + lw $3,24($fp) + lw $4,0($3) + addu $3,$4,12 + lw $4,12($2) + li $5,0x0000000a # 10 + move $6,$3 + jal Proc7 + j $L21 +$L20: + lw $2,24($fp) + lw $3,24($fp) + lw $4,0($3) + move $3,$4 + move $4,$2 + move $5,$3 + li $6,0x00000030 # 48 + jal memcpy +$L21: +$L19: + move $sp,$fp # sp not trusted here + lw $31,20($sp) + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end Proc1 + + .loc 1 563 + .ent Proc2 +Proc2: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + lw $2,16($fp) + lw $3,0($2) + addu $2,$3,10 + sw $2,0($fp) +$L23: + lb $2,Char1Glob + li $3,0x00000041 # 65 + bne $2,$3,$L26 + lw $3,0($fp) + subu $2,$3,1 + move $3,$2 + sw $3,0($fp) + lw $2,16($fp) + lw $3,0($fp) + lw $4,IntGlob + subu $3,$3,$4 + sw $3,0($2) + sw $0,4($fp) +$L26: + lw $2,4($fp) + bne $2,$0,$L27 + j $L24 +$L27: +$L25: + j $L23 +$L24: +$L22: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Proc2 + + .loc 1 583 + .ent Proc3 +Proc3: + .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $31,20($sp) + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + lw $2,PtrGlb + beq $2,$0,$L29 + lw $2,24($fp) + lw $3,PtrGlb + lw $4,0($3) + sw $4,0($2) + j $L30 +$L29: + li $2,0x00000064 # 100 + sw $2,IntGlob +$L30: + lw $3,PtrGlb + addu $2,$3,12 + li $4,0x0000000a # 10 + lw $5,IntGlob + move $6,$2 + jal Proc7 +$L28: + move $sp,$fp # sp not trusted here + lw $31,20($sp) + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end Proc3 + + .loc 1 593 + .ent Proc4 +Proc4: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + lb $2,Char1Glob + xori $3,$2,0x0041 + sltu $2,$3,1 + sw $2,0($fp) + lw $2,0($fp) + lw $3,BoolGlob + or $2,$2,$3 + sw $2,0($fp) + li $2,0x00000042 # 66 + sb $2,Char2Glob +$L31: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Proc4 + + .loc 1 602 + .ent Proc5 +Proc5: + .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,8 + sw $fp,0($sp) + move $fp,$sp + li $2,0x00000041 # 65 + sb $2,Char1Glob + sw $0,BoolGlob +$L32: + move $sp,$fp # sp not trusted here + lw $fp,0($sp) + addu $sp,$sp,8 + j $31 + .end Proc5 + + .loc 1 610 + .ent Proc6 +Proc6: + .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $31,20($sp) + sw $fp,16($sp) + move $fp,$sp + sw $4,24($fp) + sw $5,28($fp) + lw $2,28($fp) + lw $3,24($fp) + sw $3,0($2) + lw $4,24($fp) + jal Func3 + bne $2,$0,$L34 + lw $2,28($fp) + li $3,0x00000003 # 3 + sw $3,0($2) +$L34: + lw $2,24($fp) + sltu $3,$2,5 + beq $3,$0,$L44 + lw $2,24($fp) + move $3,$2 + sll $2,$3,2 + la $3,$L43 + addu $2,$2,$3 + lw $3,0($2) + j $3 + .rdata + .align 3 + .align 2 +$L43: + .word $L36 + .word $L37 + .word $L40 + .word $L41 + .word $L42 + .text +$L36: + lw $2,28($fp) + sw $0,0($2) + j $L35 +$L37: + lw $2,IntGlob + slt $3,$2,101 + bne $3,$0,$L38 + lw $2,28($fp) + sw $0,0($2) + j $L39 +$L38: + lw $2,28($fp) + li $3,0x00000003 # 3 + sw $3,0($2) +$L39: + j $L35 +$L40: + lw $2,28($fp) + li $3,0x00000001 # 1 + sw $3,0($2) + j $L35 +$L41: + j $L35 +$L42: + lw $2,28($fp) + li $3,0x00000002 # 2 + sw $3,0($2) +$L44: +$L35: +$L33: + move $sp,$fp # sp not trusted here + lw $31,20($sp) + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end Proc6 + + .loc 1 629 + .ent Proc7 +Proc7: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + sw $5,20($fp) + sw $6,24($fp) + lw $2,16($fp) + addu $3,$2,2 + sw $3,0($fp) + lw $2,24($fp) + lw $3,20($fp) + lw $4,0($fp) + addu $3,$3,$4 + sw $3,0($2) +$L45: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Proc7 + + .loc 1 640 + .ent Proc8 +Proc8: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + sw $5,20($fp) + sw $6,24($fp) + sw $7,28($fp) + lw $2,24($fp) + addu $3,$2,5 + sw $3,0($fp) + lw $2,0($fp) + move $3,$2 + sll $2,$3,2 + lw $3,16($fp) + addu $2,$2,$3 + lw $3,28($fp) + sw $3,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,2 + lw $4,16($fp) + addu $3,$2,$4 + addu $2,$3,4 + lw $3,0($fp) + move $4,$3 + sll $3,$4,2 + lw $4,16($fp) + addu $3,$3,$4 + lw $4,0($3) + sw $4,0($2) + lw $2,0($fp) + move $3,$2 + sll $2,$3,2 + lw $3,16($fp) + addu $2,$2,$3 + addu $3,$2,120 + lw $2,0($fp) + sw $2,0($3) + lw $2,0($fp) + sw $2,4($fp) +$L47: + lw $3,0($fp) + addu $2,$3,1 + lw $3,4($fp) + slt $2,$2,$3 + beq $2,$0,$L50 + j $L48 +$L50: + lw $3,0($fp) + lw $2,4($fp) + move $4,$2 + sll $2,$4,2 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,4 + addu $4,$4,$3 + sll $3,$4,2 + lw $4,20($fp) + addu $3,$3,$4 + addu $2,$2,$3 + lw $3,0($fp) + sw $3,0($2) +$L49: + lw $3,4($fp) + addu $2,$3,1 + move $3,$2 + sw $3,4($fp) + j $L47 +$L48: + lw $3,0($fp) + lw $2,0($fp) + move $4,$2 + sll $2,$4,2 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,4 + addu $4,$4,$3 + sll $3,$4,2 + lw $4,20($fp) + addu $3,$3,$4 + addu $4,$2,$3 + subu $2,$4,4 + lw $3,0($fp) + lw $2,0($fp) + move $4,$2 + sll $2,$4,2 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,4 + addu $4,$4,$3 + sll $3,$4,2 + lw $4,20($fp) + addu $3,$3,$4 + addu $4,$2,$3 + subu $2,$4,4 + lw $4,0($fp) + lw $3,0($fp) + move $5,$3 + sll $3,$5,2 + move $6,$4 + sll $5,$6,1 + addu $5,$5,$4 + sll $4,$5,4 + addu $5,$5,$4 + sll $4,$5,2 + lw $5,20($fp) + addu $4,$4,$5 + addu $3,$3,$4 + subu $4,$3,4 + lw $5,0($4) + addu $3,$5,1 + move $4,$3 + sw $4,0($2) + lw $3,0($fp) + lw $2,0($fp) + move $4,$2 + sll $2,$4,2 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,4 + addu $4,$4,$3 + sll $3,$4,2 + lw $4,20($fp) + addu $3,$3,$4 + addu $4,$2,$3 + addu $2,$4,4080 + lw $3,0($fp) + move $4,$3 + sll $3,$4,2 + lw $4,16($fp) + addu $3,$3,$4 + lw $4,0($3) + sw $4,0($2) + li $2,0x00000005 # 5 + sw $2,IntGlob +$L46: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Proc8 + + .loc 1 660 + .ent Func1 +Func1: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + move $3,$4 + move $4,$5 + sb $3,0($fp) + sb $4,1($fp) + lbu $2,0($fp) + sb $2,2($fp) + lbu $2,2($fp) + sb $2,3($fp) + lb $2,3($fp) + lb $5,1($fp) + beq $2,$5,$L52 + move $2,$0 + j $L51 + j $L53 +$L52: + li $2,0x00000001 # 1 + j $L51 +$L53: +$L51: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Func1 + + .loc 1 675 + .ent Func2 +Func2: + .frame $fp,32,$31 # vars= 8, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,32 + sw $31,28($sp) + sw $fp,24($sp) + move $fp,$sp + sw $4,32($fp) + sw $5,36($fp) + li $2,0x00000001 # 1 + sw $2,16($fp) +$L55: + lw $2,16($fp) + slt $3,$2,2 + bne $3,$0,$L57 + j $L56 +$L57: + lw $2,32($fp) + lw $4,16($fp) + addu $3,$2,$4 + lb $2,0($3) + lw $3,16($fp) + lw $4,36($fp) + addu $3,$3,$4 + addu $4,$3,1 + lb $3,0($4) + move $4,$2 + move $5,$3 + jal Func1 + bne $2,$0,$L58 + li $2,0x00000041 # 65 + sb $2,20($fp) + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) +$L58: + j $L55 +$L56: + lb $2,20($fp) + slt $3,$2,87 + bne $3,$0,$L59 + lb $2,20($fp) + slt $3,$2,91 + beq $3,$0,$L59 + li $2,0x00000007 # 7 + sw $2,16($fp) +$L59: + lb $2,20($fp) + li $3,0x00000058 # 88 + bne $2,$3,$L60 + li $2,0x00000001 # 1 + j $L54 + j $L61 +$L60: + lw $4,32($fp) + lw $5,36($fp) + jal strcmp + blez $2,$L62 + lw $2,16($fp) + addu $3,$2,7 + sw $3,16($fp) + li $2,0x00000001 # 1 + j $L54 + j $L63 +$L62: + move $2,$0 + j $L54 +$L63: +$L61: +$L54: + move $sp,$fp # sp not trusted here + lw $31,28($sp) + lw $fp,24($sp) + addu $sp,$sp,32 + j $31 + .end Func2 + + .loc 1 705 + .ent Func3 +Func3: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + lw $2,16($fp) + sw $2,0($fp) + lw $2,0($fp) + li $3,0x00000002 # 2 + bne $2,$3,$L65 + li $2,0x00000001 # 1 + j $L64 +$L65: + move $2,$0 + j $L64 +$L64: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end Func3 diff --git a/benchmarks/hello.s b/benchmarks/build/hello.s similarity index 100% rename from benchmarks/hello.s rename to benchmarks/build/hello.s diff --git a/benchmarks/build/pi.s b/benchmarks/build/pi.s new file mode 100644 index 0000000000000000000000000000000000000000..26ad2da4237816cd78e85814d4740f2b0324ac6e --- /dev/null +++ b/benchmarks/build/pi.s @@ -0,0 +1,137 @@ + .file 1 "pi.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -o + +gcc2_compiled.: +__gnu_compiled_c: + .rdata + .align 2 +$LC0: + .ascii "Usage: %s <iterations>\n\000" + .sdata + .align 2 +$LC3: + .ascii "%.10f\n\000" + .align 3 +$LC1: + .word 0xffc00000 # 2147483647 + .word 0x41dfffff + .align 3 +$LC2: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC4: + .word 0x00000000 # 4 + .word 0x40100000 + .text + .align 2 + .globl main + + .extern stderr, 4 + + .text + + .loc 1 5 + .ent main +main: + .frame $fp,56,$31 # vars= 32, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,56 + sw $31,52($sp) + sw $fp,48($sp) + move $fp,$sp + sw $4,56($fp) + sw $5,60($fp) + jal __main + sw $0,24($fp) + lw $2,56($fp) + li $3,0x00000002 # 2 + beq $2,$3,$L2 + lw $2,60($fp) + lw $4,stderr + la $5,$LC0 + lw $6,0($2) + jal fprintf + move $4,$0 + jal exit +$L2: + lw $3,60($fp) + addu $2,$3,4 + lw $4,0($2) + jal atoi + sw $2,20($fp) + li $4,0x00000001 # 1 + jal srandom + sw $0,16($fp) +$L3: + lw $2,16($fp) + lw $3,20($fp) + slt $2,$2,$3 + bne $2,$0,$L6 + j $L4 +$L6: + jal random + mtc1 $2,$f0 + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC1 + div.d $f0,$f0,$f2 + s.d $f0,32($fp) + jal random + mtc1 $2,$f0 + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC1 + div.d $f0,$f0,$f2 + s.d $f0,40($fp) + l.d $f0,32($fp) + l.d $f2,32($fp) + mul.d $f0,$f0,$f2 + l.d $f2,40($fp) + l.d $f4,40($fp) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + l.d $f2,$LC2 + c.le.d $f0,$f2 + bc1f $L7 + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) +$L7: +$L5: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L3 +$L4: + l.s $f0,24($fp) + #nop + cvt.d.w $f0,$f0 + l.s $f2,20($fp) + #nop + cvt.d.w $f2,$f2 + div.d $f0,$f0,$f2 + l.d $f2,$LC4 + mul.d $f0,$f0,$f2 + la $4,$LC3 + dmfc1 $6,$f0 + jal printf + li $2,0x00000001 # 1 + j $L1 +$L1: + move $sp,$fp # sp not trusted here + lw $31,52($sp) + lw $fp,48($sp) + addu $sp,$sp,56 + j $31 + .end main diff --git a/benchmarks/build/slalom.s b/benchmarks/build/slalom.s new file mode 100644 index 0000000000000000000000000000000000000000..c1cf731b7a70fa79f15d80231547a06a67df7ce6 --- /dev/null +++ b/benchmarks/build/slalom.s @@ -0,0 +1,4675 @@ + .file 1 "slalom.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -O0 -o + +gcc2_compiled.: +__gnu_compiled_c: + .rdata + .align 2 +$LC0: + .ascii "Enter the number of seconds that is the goal: \000" + .sdata + .align 2 +$LC1: + .ascii "%lg\000" + .rdata + .align 2 +$LC2: + .ascii "Enter a lower bound for n: \000" + .sdata + .align 2 +$LC3: + .ascii "%d\000" + .rdata + .align 2 +$LC4: + .ascii "Must take less than %g seconds. Took %g.\n\000" + .align 2 +$LC5: + .ascii "Enter an upper bound for n: \000" + .align 2 +$LC6: + .ascii "Must take at least %g seconds. Took %g.\n\000" + .align 2 +$LC7: + .ascii "New interval: [%d,%d]\n\000" + .text + .align 2 + .globl main + .data + .align 2 +info.4: + .word $LC8 + .word $LC9 + .word $LC10 + .word $LC11 + .word $LC12 + .word $LC13 + .word $LC14 + .word $LC15 + .word $LC16 + .word 0 + .rdata + .align 2 +$LC16: + .ascii "Options: -O Date: 23 May 1990\000" + .align 2 +$LC15: + .ascii "Compiler: cc Run by: M. Carter\000" + .align 2 +$LC14: + .ascii "Language: C Alone: yes\000" + .align 2 +$LC13: + .ascii "OS: SUNOS 4.0.3 Timer: Wall, gettime" + .ascii "ofday()\000" + .align 2 +$LC12: + .ascii "Disk: .3GB SCSI+.7GB SMD Node name: amssun2\000" + .align 2 +$LC11: + .ascii "NMAX: 512 Clock: 25 MHz\000" + .align 2 +$LC10: + .ascii "Cache: 128 KB # used: 1\000" + .align 2 +$LC9: + .ascii "Memory: 32 MB # of procs: 1\000" + .align 2 +$LC8: + .ascii "Machine: SUN 4/370GX Processor: SPARC\000" + .sdata + .align 2 +$LC17: + .ascii "\n\000" + .rdata + .align 2 +$LC18: + .ascii "M ops: %-13lg Time: %-.3lf seconds\n\000" + .align 2 +$LC20: + .ascii "n: %-6d MFLOPS: %-.5lg\n\000" + .align 2 +$LC21: + .ascii "Approximate data memory use: %d bytes.\n\000" + .sdata + .align 3 +$LC19: + .word 0xa0b5ed8d # 9.9999999999999995475e-07 + .word 0x3eb0c6f7 + .text + .align 2 + .globl What + + .lcomm area.7,16384 + + .lcomm box.8,56 + + .lcomm coeff.9,33554432 + + .lcomm diag.10,49152 + + .lcomm emiss.11,144 + + .lcomm place.12,49152 + + .lcomm result.13,49152 + + .lcomm rho.14,144 + + .lcomm rhs.15,49152 + + .lcomm size.16,32768 + + .lcomm loop.17,48 + .data + .align 2 +tasks.18: + .word $LC22 + .word $LC23 + .word $LC24 + .word $LC25 + .word $LC26 + .word $LC27 + .word $LC28 + .sdata + .align 2 +$LC28: + .ascii "Storer\000" + .align 2 +$LC27: + .ascii "Solver\000" + .align 2 +$LC26: + .ascii "SetUp3\000" + .align 2 +$LC25: + .ascii "SetUp2\000" + .align 2 +$LC24: + .ascii "SetUp1\000" + .align 2 +$LC23: + .ascii "Region\000" + .align 2 +$LC22: + .ascii "Reader\000" + .rdata + .align 2 +$LC29: + .ascii "%6.6s%8.3f%17.0f%14.6f%10.1f %%\n\000" + .sdata + .align 2 +format.19: + .word $LC29 + .rdata + .align 2 +$LC30: + .ascii "Must be at least 6, the number of faces.\n\000" + .align 2 +$LC31: + .ascii "Exceeds %d = maximum for this system.\n\000" + .sdata + .align 2 +$LC32: + .ascii "answer\000" + .rdata + .align 2 +$LC50: + .ascii "%d patches:\n\000" + .align 2 +$LC51: + .ascii " Task Seconds Operations MFLOPS %% of T" + .ascii "ime\n\000" + .sdata + .align 2 +$LC55: + .ascii "TOTALS\000" + .align 3 +$LC33: + .word 0x00000000 # 0.5 + .word 0x3fe00000 + .align 3 +$LC34: + .word 0x00000000 # 258 + .word 0x40702000 + .align 3 +$LC35: + .word 0x00000000 # 8 + .word 0x40200000 + .align 3 +$LC36: + .word 0x00000000 # 154 + .word 0x40634000 + .align 3 +$LC37: + .word 0x00000000 # 532 + .word 0x4080a000 + .align 3 +$LC38: + .word 0x00000000 # 6 + .word 0x40180000 + .align 3 +$LC39: + .word 0x00000000 # 370 + .word 0x40772000 + .align 3 +$LC40: + .word 0x00000000 # 2 + .word 0x40000000 + .align 3 +$LC41: + .word 0x00000000 # 9 + .word 0x40220000 + .align 3 +$LC42: + .word 0x00000000 # 72 + .word 0x40520000 + .align 3 +$LC43: + .word 0x00000000 # 7.5 + .word 0x401e0000 + .align 3 +$LC44: + .word 0x00000000 # 2.5 + .word 0x40040000 + .align 3 +$LC45: + .word 0x00000000 # 21 + .word 0x40350000 + .align 3 +$LC46: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC47: + .word 0x00000000 # 16.5 + .word 0x40308000 + .align 3 +$LC48: + .word 0x00000000 # 35.5 + .word 0x4041c000 + .align 3 +$LC49: + .word 0x00000000 # 3 + .word 0x40080000 + .align 3 +$LC52: + .word 0xd2f1a9fc # 0.0010000000000000000208 + .word 0x3f50624d + .align 3 +$LC53: + .word 0xa0b5ed8d # 9.9999999999999995475e-07 + .word 0x3eb0c6f7 + .align 3 +$LC54: + .word 0x00000000 # 100 + .word 0x40590000 + .text + .align 2 + .globl Meter + .sdata + .align 3 +$LC56: + .word 0xa0b5ed8d # 9.9999999999999995475e-07 + .word 0x3eb0c6f7 + .text + .align 2 + .globl When + .sdata + .align 2 +$LC57: + .ascii "geom\000" + .align 2 +$LC58: + .ascii "r\000" + .rdata + .align 2 +$LC59: + .ascii "slalom: 'geom' geometry file not found.\n\000" + .align 2 +$LC60: + .ascii "Must specify exactly 3 box coordinates.\n\000" + .align 2 +$LC61: + .ascii "Must specify exactly 18 box coordinates.\n\000" + .align 2 +$LC64: + .ascii "Box dimensions must be between 1 and 100.\n\000" + .align 2 +$LC66: + .ascii "Reflectivities must be between .000 and .999.\n\000" + .align 2 +$LC67: + .ascii "Emissivity cannot be negative.\n\000" + .align 2 +$LC68: + .ascii "Emissivities are zero. Problem is trivial.\n\000" + .sdata + .align 3 +$LC62: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC63: + .word 0x00000000 # 100 + .word 0x40590000 + .align 3 +$LC65: + .word 0xd916872b # 0.99899999999999999911 + .word 0x3feff7ce + .text + .align 2 + .globl Reader + .rdata + .align 2 +$LC70: + .ascii "Eccentric box requires more patches.\n\000" + .sdata + .align 3 +$LC69: + .word 0x00000000 # 0.5 + .word 0x3fe00000 + .align 3 +$LC71: + .word 0x54442d18 # 25.132741228718344928 + .word 0x403921fb + .text + .align 2 + .globl Region + .sdata + .align 3 +$LC72: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC73: + .word 0x00000000 # -4 + .word 0xc0100000 + .text + .align 2 + .globl SetUp1 + .sdata + .align 3 +$LC74: + .word 0xb7f87a0f # 1.0000000000000000079e-35 + .word 0x38aa95a5 + .align 3 +$LC75: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC76: + .word 0x00000000 # 4 + .word 0x40100000 + .text + .align 2 + .globl SetUp2 + .rdata + .align 2 +$LC79: + .ascii "Total form factor is too far from unity.\n\000" + .sdata + .align 3 +$LC77: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 3 +$LC78: + .word 0xe826d695 # 5.0000000000000003114e-10 + .word 0x3e012e0b + .text + .align 2 + .globl SetUp3 + .sdata + .align 3 +$LC80: + .word 0x00000000 # 1 + .word 0x3ff00000 + .text + .align 2 + .globl Solver + .sdata + .align 2 +$LC81: + .ascii "w\000" + .rdata + .align 2 +$LC82: + .ascii "Unable to open 'answer' file.\n\000" + .align 2 +$LC83: + .ascii " Patch Face Position in w, h, d Widt" + .ascii "h Height\n\000" + .align 2 +$LC84: + .ascii "%5d %4d%11.5lf%11.5lf%11.5lf %11.5lf%11.5lf\n\000" + .align 2 +$LC85: + .ascii "\n" + .ascii " Patch Face Radiosities\n\000" + .align 2 +$LC86: + .ascii "%5d %4d%12.8lf%12.8lf%12.8lf\n\000" + .text + .align 2 + .globl Storer + .rdata + .align 2 +$LC88: + .ascii "Residual is too large: %lg\n\000" + .sdata + .align 3 +$LC87: + .word 0x29a4692c # 1.5000000000000001968e-08 + .word 0x3e501b2b + .text + .align 2 + .globl Verify + .align 2 + .globl Ddot + + .comm goal,8 + + .comm timing,8 + + .comm work,8 + + .comm mean,4 + + .comm n,4 + + .comm nupper,4 + + .text + + .loc 1 179 + .ent main +main: + .frame $fp,40,$31 # vars= 8, regs= 2/0, args= 24, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,40 + sw $31,36($sp) + sw $fp,32($sp) + move $fp,$sp + jal __main + la $4,$LC0 + jal printf + la $4,$LC1 + la $5,goal + jal scanf +$L2: + la $4,$LC2 + jal printf + la $4,$LC3 + la $5,n + jal scanf + lw $2,n + bgtz $2,$L5 + move $4,$0 + jal exit +$L5: + lw $4,n + la $5,timing + la $6,work + jal Meter + sw $2,24($fp) + l.d $f0,timing + l.d $f2,goal + c.le.d $f2,$f0 + bc1f $L6 + l.d $f0,timing + s.d $f0,16($sp) + la $4,$LC4 + dlw $6,goal + jal printf +$L6: +$L4: + lw $2,24($fp) + beq $2,$0,$L7 + l.d $f0,timing + l.d $f2,goal + c.le.d $f2,$f0 + bc1t $L7 + j $L3 +$L7: + j $L2 +$L3: + .set noreorder + nop + .set reorder +$L8: + la $4,$LC5 + jal printf + la $4,$LC3 + la $5,nupper + jal scanf + lw $2,nupper + bgtz $2,$L11 + move $4,$0 + jal exit +$L11: + lw $4,nupper + la $5,timing + la $6,work + jal Meter + sw $2,24($fp) + l.d $f0,timing + l.d $f2,goal + c.lt.d $f0,$f2 + bc1f $L12 + l.d $f0,timing + s.d $f0,16($sp) + la $4,$LC6 + dlw $6,goal + jal printf + lw $2,nupper + lw $3,n + slt $4,$2,$3 + beq $4,$0,$L13 + lw $2,n +$L13: + sw $2,n +$L12: +$L10: + lw $2,24($fp) + beq $2,$0,$L14 + l.d $f0,timing + l.d $f2,goal + c.lt.d $f0,$f2 + bc1t $L14 + j $L9 +$L14: + j $L8 +$L9: + .set noreorder + nop + .set reorder +$L15: + lw $2,nupper + lw $3,n + subu $2,$2,$3 + slt $3,$2,2 + beq $3,$0,$L17 + j $L16 +$L17: + lw $2,n + lw $3,nupper + addu $2,$2,$3 + sra $3,$2,31 + srl $4,$3,31 + addu $2,$2,$4 + sra $3,$2,1 + sw $3,mean + lw $4,mean + la $5,timing + la $6,work + jal Meter + sw $2,24($fp) + l.d $f0,timing + l.d $f2,goal + c.lt.d $f0,$f2 + bc1f $L18 + lw $2,mean + sw $2,n + j $L19 +$L18: + lw $2,mean + sw $2,nupper +$L19: + la $4,$LC7 + lw $5,n + lw $6,nupper + jal printf + j $L15 +$L16: + lw $4,n + la $5,timing + la $6,work + jal Meter + sw $2,24($fp) + l.d $f0,work + s.d $f0,16($sp) + lw $4,n + dlw $6,timing + jal What +$L1: + move $sp,$fp # sp not trusted here + lw $31,36($sp) + lw $fp,32($sp) + addu $sp,$sp,40 + j $31 + .end main + + .loc 1 236 + .ent What +What: + .frame $fp,40,$31 # vars= 8, regs= 2/0, args= 24, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,40 + sw $31,36($sp) + sw $fp,32($sp) + move $fp,$sp + sw $4,40($fp) + dsw $6,48($fp) + la $4,$LC17 + jal printf + sw $0,24($fp) +$L21: + lw $2,24($fp) + move $3,$2 + sll $2,$3,2 + la $3,info.4 + addu $2,$2,$3 + lw $3,0($2) + bne $3,$0,$L24 + j $L22 +$L24: + lw $2,24($fp) + move $3,$2 + sll $2,$3,2 + la $3,info.4 + addu $2,$2,$3 + lw $4,0($2) + jal puts +$L23: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L21 +$L22: + l.d $f0,56($fp) + l.d $f2,$LC19 + mul.d $f0,$f0,$f2 + l.d $f2,48($fp) + s.d $f2,16($sp) + la $4,$LC18 + dmfc1 $6,$f0 + jal printf + l.d $f0,56($fp) + l.d $f2,48($fp) + div.d $f0,$f0,$f2 + l.d $f2,$LC19 + mul.d $f0,$f0,$f2 + la $4,$LC20 + lw $5,40($fp) + dmfc1 $6,$f0 + jal printf + lw $2,40($fp) + move $3,$2 + sll $2,$3,3 + lw $3,40($fp) + mult $2,$3 + mflo $2 + lw $3,40($fp) + move $5,$3 + sll $4,$5,4 + subu $4,$4,$3 + sll $3,$4,3 + addu $2,$2,$3 + addu $3,$2,800 + la $4,$LC21 + move $5,$3 + jal printf +$L20: + move $sp,$fp # sp not trusted here + lw $31,36($sp) + lw $fp,32($sp) + addu $sp,$sp,40 + j $31 + .end What + + .loc 1 282 + .ent Meter +Meter: + .frame $fp,280,$31 # vars= 208, regs= 2/3, args= 40, extra= 0 + .mask 0xc0000000,-28 + .fmask 0x03f00000,-4 + subu $sp,$sp,280 + sw $31,252($sp) + sw $fp,248($sp) + s.d $f24,272($sp) + s.d $f22,264($sp) + s.d $f20,256($sp) + move $fp,$sp + sw $4,280($fp) + sw $5,284($fp) + sw $6,288($fp) + lw $2,280($fp) + slt $3,$2,6 + beq $3,$0,$L26 + la $4,$LC30 + jal printf + move $2,$0 + j $L25 + j $L27 +$L26: + lw $2,280($fp) + slt $3,$2,2049 + bne $3,$0,$L28 + la $4,$LC31 + li $5,0x00000800 # 2048 + jal printf + move $2,$0 + j $L25 +$L28: +$L27: + la $4,$LC32 + jal unlink + jal When + s.d $f0,152($fp) + la $4,box.8 + la $5,rho.14 + la $6,emiss.11 + jal Reader + bne $2,$0,$L29 + move $2,$0 + j $L25 +$L29: + jal When + s.d $f0,160($fp) + la $2,size.16 + sw $2,16($sp) + la $2,area.7 + sw $2,20($sp) + lw $4,280($fp) + la $5,loop.17 + la $6,box.8 + la $7,place.12 + jal Region + bne $2,$0,$L30 + move $2,$0 + j $L25 +$L30: + jal When + s.d $f0,168($fp) + la $2,size.16 + sw $2,16($sp) + lw $4,280($fp) + la $5,loop.17 + la $6,coeff.9 + la $7,place.12 + jal SetUp1 + jal When + s.d $f0,176($fp) + la $2,size.16 + sw $2,16($sp) + lw $4,280($fp) + la $5,loop.17 + la $6,coeff.9 + la $7,place.12 + jal SetUp2 + jal When + s.d $f0,184($fp) + la $2,emiss.11 + sw $2,16($sp) + la $2,coeff.9 + sw $2,20($sp) + la $2,diag.10 + sw $2,24($sp) + la $2,rhs.15 + sw $2,28($sp) + lw $4,280($fp) + la $5,loop.17 + la $6,area.7 + la $7,rho.14 + jal SetUp3 + bne $2,$0,$L31 + move $2,$0 + j $L25 +$L31: + jal When + s.d $f0,192($fp) + lw $2,loop.17+8 + sw $2,240($fp) + la $2,rhs.15 + sw $2,16($sp) + la $2,result.13 + sw $2,20($sp) + lw $4,280($fp) + lw $5,240($fp) + la $6,coeff.9 + la $7,diag.10 + jal Solver + jal When + s.d $f0,200($fp) + la $2,result.13 + sw $2,16($sp) + lw $4,280($fp) + la $5,loop.17 + la $6,place.12 + la $7,size.16 + jal Storer + jal When + s.d $f0,208($fp) + lw $2,284($fp) + l.d $f0,208($fp) + l.d $f2,152($fp) + sub.d $f0,$f0,$f2 + s.d $f0,0($2) + sw $0,232($fp) +$L32: + lw $2,232($fp) + slt $3,$2,7 + bne $3,$0,$L35 + j $L33 +$L35: + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,40 + addu $3,$2,$4 + addu $2,$3,112 + addu $3,$fp,160 + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + addu $3,$3,$4 + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,40 + addu $4,$4,$5 + addu $5,$4,112 + l.d $f0,0($3) + l.d $f2,0($5) + sub.d $f0,$f0,$f2 + s.d $f0,0($2) +$L34: + lw $3,232($fp) + addu $2,$3,1 + move $3,$2 + sw $3,232($fp) + j $L32 +$L33: + sw $0,236($fp) + dsz 216($fp) + sw $0,232($fp) +$L36: + lw $2,232($fp) + slt $3,$2,6 + bne $3,$0,$L39 + j $L37 +$L39: + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,40 + addu $3,$2,$4 + addu $2,$3,64 + lw $3,232($fp) + move $4,$3 + sll $3,$4,3 + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + lw $3,loop.17+4($3) + lw $4,loop.17($4) + subu $3,$3,$4 + addu $4,$3,1 + mtc1 $4,$f0 + #nop + cvt.d.w $f0,$f0 + s.d $f0,0($2) + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,40 + addu $3,$2,$4 + addu $2,$3,64 + lw $3,232($fp) + move $4,$3 + sll $3,$4,3 + addu $4,$fp,40 + addu $3,$3,$4 + addu $4,$3,64 + l.d $f0,0($2) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,216($fp) + add.d $f0,$f2,$f0 + s.d $f0,216($fp) + l.s $f24,236($fp) + #nop + cvt.d.w $f24,$f24 + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,40 + addu $3,$2,$4 + addu $2,$3,64 + lw $3,232($fp) + move $4,$3 + sll $3,$4,3 + la $4,box.8 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + la $3,box.8+8 + addu $2,$2,$3 + l.d $f2,0($2) + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal sqrt + l.d $f2,$LC33 + add.d $f0,$f0,$f2 + add.d $f2,$f24,$f0 + trunc.w.d $f10,$f2,$8 + s.s $f10,236($fp) +$L38: + lw $3,232($fp) + addu $2,$3,1 + move $3,$2 + sw $3,232($fp) + j $L36 +$L37: + l.d $f0,104($fp) + l.d $f2,128($fp) + mul.d $f0,$f0,$f2 + l.d $f2,112($fp) + l.d $f4,136($fp) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + l.d $f2,120($fp) + l.d $f4,144($fp) + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,224($fp) + l.d $f0,$LC34 + s.d $f0,40($fp) + l.s $f0,236($fp) + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC35 + mul.d $f0,$f0,$f2 + l.d $f2,$LC36 + add.d $f0,$f0,$f2 + l.s $f2,280($fp) + #nop + cvt.d.w $f2,$f2 + add.d $f0,$f0,$f2 + s.d $f0,48($fp) + l.d $f0,224($fp) + l.d $f2,$LC37 + mul.d $f0,$f0,$f2 + l.d $f2,$LC38 + add.d $f0,$f0,$f2 + s.d $f0,56($fp) + lw $2,280($fp) + move $3,$2 + sll $2,$3,3 + mtc1 $2,$f0 + #nop + cvt.d.w $f0,$f0 + l.s $f2,280($fp) + #nop + cvt.d.w $f2,$f2 + l.s $f4,280($fp) + #nop + cvt.d.w $f4,$f4 + mul.d $f2,$f2,$f4 + l.d $f4,216($fp) + sub.d $f2,$f2,$f4 + l.d $f20,224($fp) + add.d $f4,$f20,$f20 + sub.d $f2,$f2,$f4 + l.d $f4,$LC39 + mul.d $f2,$f2,$f4 + l.d $f4,$LC40 + div.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + l.s $f0,280($fp) + #nop + cvt.d.w $f0,$f0 + l.d $f2,$LC41 + mul.d $f0,$f0,$f2 + l.d $f2,$LC42 + add.d $f0,$f0,$f2 + l.s $f2,280($fp) + #nop + cvt.d.w $f2,$f2 + l.s $f4,280($fp) + #nop + cvt.d.w $f4,$f4 + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + l.d $f2,216($fp) + sub.d $f0,$f0,$f2 + s.d $f0,72($fp) + l.s $f0,280($fp) + #nop + cvt.d.w $f0,$f0 + l.s $f2,280($fp) + #nop + cvt.d.w $f2,$f2 + l.s $f4,280($fp) + #nop + cvt.d.w $f4,$f4 + l.d $f6,$LC43 + add.d $f4,$f4,$f6 + mul.d $f2,$f2,$f4 + l.d $f4,$LC44 + sub.d $f2,$f2,$f4 + mul.d $f0,$f0,$f2 + l.d $f2,$LC45 + sub.d $f0,$f0,$f2 + lw $3,240($fp) + addu $2,$3,1 + mtc1 $2,$f2 + #nop + cvt.d.w $f2,$f2 + lw $3,240($fp) + addu $2,$3,1 + mtc1 $2,$f4 + #nop + cvt.d.w $f4,$f4 + l.s $f22,240($fp) + #nop + cvt.d.w $f22,$f22 + l.d $f6,$LC46 + add.d $f22,$f22,$f6 + add.d $f6,$f22,$f22 + l.d $f8,$LC47 + sub.d $f6,$f6,$f8 + mul.d $f4,$f4,$f6 + l.d $f6,$LC48 + add.d $f4,$f4,$f6 + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + lw $3,240($fp) + addu $2,$3,1 + lw $3,280($fp) + mult $2,$3 + mflo $2 + mtc1 $2,$f2 + #nop + cvt.d.w $f2,$f2 + l.s $f4,240($fp) + #nop + cvt.d.w $f4,$f4 + l.d $f6,$LC46 + add.d $f4,$f4,$f6 + l.d $f6,$LC49 + mul.d $f4,$f4,$f6 + l.d $f6,$LC41 + sub.d $f4,$f6,$f4 + mul.d $f2,$f2,$f4 + add.d $f0,$f0,$f2 + s.d $f0,80($fp) + lw $2,280($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $2,$3,4 + mtc1 $2,$f0 + #nop + cvt.d.w $f0,$f0 + s.d $f0,88($fp) + lw $2,288($fp) + l.d $f0,40($fp) + l.d $f2,48($fp) + add.d $f0,$f0,$f2 + l.d $f2,56($fp) + add.d $f0,$f0,$f2 + l.d $f2,64($fp) + add.d $f0,$f0,$f2 + l.d $f2,72($fp) + add.d $f0,$f0,$f2 + l.d $f2,80($fp) + add.d $f0,$f0,$f2 + l.d $f2,88($fp) + add.d $f0,$f0,$f2 + s.d $f0,0($2) + la $4,$LC50 + lw $5,280($fp) + jal printf + la $4,$LC51 + jal printf + sw $0,232($fp) +$L40: + lw $2,232($fp) + slt $3,$2,7 + bne $3,$0,$L43 + j $L41 +$L43: + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $3,$fp,40 + addu $2,$2,$3 + addu $3,$2,112 + l.d $f0,0($3) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1f $L44 + lw $2,232($fp) + move $3,$2 + sll $2,$3,3 + addu $3,$fp,40 + addu $2,$2,$3 + addu $3,$2,112 + l.d $f0,$LC52 + s.d $f0,0($3) +$L44: + lw $2,232($fp) + move $3,$2 + sll $2,$3,2 + la $3,tasks.18 + addu $2,$2,$3 + lw $3,232($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,40 + addu $4,$3,$5 + addu $3,$4,112 + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,40 + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,16($sp) + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,40 + addu $4,$4,$5 + lw $5,232($fp) + move $6,$5 + sll $5,$6,3 + addu $6,$fp,40 + addu $5,$5,$6 + addu $6,$5,112 + l.d $f0,0($4) + l.d $f2,0($6) + div.d $f0,$f0,$f2 + l.d $f2,$LC53 + mul.d $f0,$f0,$f2 + s.d $f0,24($sp) + lw $4,232($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,40 + addu $4,$4,$5 + addu $5,$4,112 + l.d $f0,0($5) + l.d $f2,$LC54 + mul.d $f0,$f0,$f2 + lw $4,284($fp) + l.d $f2,0($4) + div.d $f0,$f0,$f2 + s.d $f0,32($sp) + lw $4,format.19 + lw $5,0($2) + dlw $6,0($3) + jal printf +$L42: + lw $3,232($fp) + addu $2,$3,1 + move $3,$2 + sw $3,232($fp) + j $L40 +$L41: + lw $2,284($fp) + lw $3,288($fp) + l.d $f0,0($3) + s.d $f0,16($sp) + lw $3,288($fp) + lw $4,284($fp) + l.d $f0,0($3) + l.d $f2,0($4) + div.d $f0,$f0,$f2 + l.d $f2,$LC53 + mul.d $f0,$f0,$f2 + s.d $f0,24($sp) + l.d $f0,$LC54 + s.d $f0,32($sp) + lw $4,format.19 + la $5,$LC55 + dlw $6,0($2) + jal printf + la $2,result.13 + sw $2,16($sp) + lw $4,280($fp) + la $5,coeff.9 + la $6,diag.10 + la $7,rhs.15 + jal Verify + li $2,0x00000001 # 1 + j $L25 +$L25: + move $sp,$fp # sp not trusted here + lw $31,252($sp) + lw $fp,248($sp) + l.d $f24,272($sp) + l.d $f22,264($sp) + l.d $f20,256($sp) + addu $sp,$sp,280 + j $31 + .end Meter + + .loc 1 396 + .ent When +When: + .frame $fp,40,$31 # vars= 16, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,40 + sw $31,36($sp) + sw $fp,32($sp) + move $fp,$sp + addu $2,$fp,24 + addu $4,$fp,16 + move $5,$2 + jal gettimeofday + l.s $f0,16($fp) + #nop + cvt.d.w $f0,$f0 + l.s $f2,20($fp) + #nop + cvt.d.w $f2,$f2 + l.d $f4,$LC56 + mul.d $f2,$f2,$f4 + add.d $f4,$f0,$f2 + mov.d $f0,$f4 + j $L45 +$L45: + move $sp,$fp # sp not trusted here + lw $31,36($sp) + lw $fp,32($sp) + addu $sp,$sp,40 + j $31 + .end When + + .loc 1 409 + .ent Reader +Reader: + .frame $fp,144,$31 # vars= 120, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,144 + sw $31,140($sp) + sw $fp,136($sp) + move $fp,$sp + sw $4,144($fp) + sw $5,148($fp) + sw $6,152($fp) + la $4,$LC57 + la $5,$LC58 + jal fopen + sw $2,40($fp) + lw $2,40($fp) + bne $2,$0,$L47 + la $4,$LC59 + jal printf + li $4,0x00000001 # 1 + jal exit +$L47: + sw $0,24($fp) + sw $0,16($fp) +$L48: + lw $2,16($fp) + slt $3,$2,3 + bne $3,$0,$L51 + j $L49 +$L51: + lw $2,16($fp) + move $3,$2 + sll $2,$3,3 + lw $3,144($fp) + addu $2,$2,$3 + lw $4,40($fp) + la $5,$LC1 + move $6,$2 + jal fscanf + lw $3,24($fp) + addu $2,$3,$2 + sw $2,24($fp) +$L50: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L48 +$L49: + addu $2,$fp,48 + move $4,$2 + li $5,0x00000050 # 80 + lw $6,40($fp) + jal fgets + lw $2,24($fp) + li $3,0x00000003 # 3 + beq $2,$3,$L52 + la $4,$LC60 + jal printf + li $4,0x00000001 # 1 + jal exit +$L52: + sw $0,24($fp) + sw $0,20($fp) +$L53: + lw $2,20($fp) + slt $3,$2,3 + bne $3,$0,$L56 + j $L54 +$L56: + sw $0,16($fp) +$L57: + lw $2,16($fp) + slt $3,$2,6 + bne $3,$0,$L60 + j $L58 +$L60: + lw $2,16($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $2,$3,3 + lw $3,148($fp) + addu $2,$2,$3 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $2,$2,$3 + lw $4,40($fp) + la $5,$LC1 + move $6,$2 + jal fscanf + lw $3,24($fp) + addu $2,$3,$2 + sw $2,24($fp) +$L59: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L57 +$L58: +$L55: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L53 +$L54: + addu $2,$fp,48 + move $4,$2 + li $5,0x00000050 # 80 + lw $6,40($fp) + jal fgets + lw $2,24($fp) + li $3,0x00000012 # 18 + beq $2,$3,$L61 + la $4,$LC61 + jal printf + li $4,0x00000001 # 1 + jal exit +$L61: + sw $0,24($fp) + sw $0,20($fp) +$L62: + lw $2,20($fp) + slt $3,$2,3 + bne $3,$0,$L65 + j $L63 +$L65: + sw $0,16($fp) +$L66: + lw $2,16($fp) + slt $3,$2,6 + bne $3,$0,$L69 + j $L67 +$L69: + lw $2,16($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $2,$3,3 + lw $3,152($fp) + addu $2,$2,$3 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $2,$2,$3 + lw $4,40($fp) + la $5,$LC1 + move $6,$2 + jal fscanf + lw $3,24($fp) + addu $2,$3,$2 + sw $2,24($fp) +$L68: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L66 +$L67: +$L64: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L62 +$L63: + addu $2,$fp,48 + move $4,$2 + li $5,0x00000050 # 80 + lw $6,40($fp) + jal fgets + lw $2,24($fp) + li $3,0x00000012 # 18 + beq $2,$3,$L70 + la $4,$LC61 + jal printf + li $4,0x00000001 # 1 + jal exit +$L70: + lw $4,40($fp) + jal fclose + sw $0,20($fp) +$L71: + lw $2,20($fp) + slt $3,$2,3 + bne $3,$0,$L74 + j $L72 +$L74: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,144($fp) + addu $2,$2,$3 + l.d $f0,0($2) + l.d $f2,$LC62 + c.lt.d $f0,$f2 + bc1t $L76 + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,144($fp) + addu $2,$2,$3 + l.d $f0,0($2) + l.d $f2,$LC63 + c.le.d $f2,$f0 + bc1t $L76 + j $L75 +$L76: + la $4,$LC64 + jal printf + move $2,$0 + j $L46 +$L75: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $4,144($fp) + addu $3,$2,$4 + addu $2,$3,24 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + lw $4,144($fp) + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + dsz 32($fp) + sw $0,16($fp) +$L77: + lw $2,16($fp) + slt $3,$2,6 + bne $3,$0,$L80 + j $L78 +$L80: + lw $3,16($fp) + lw $2,20($fp) + move $4,$2 + sll $2,$4,3 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,3 + lw $4,148($fp) + addu $3,$3,$4 + addu $2,$2,$3 + l.d $f0,0($2) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.lt.d $f0,$f2 + bc1t $L82 + lw $3,16($fp) + lw $2,20($fp) + move $4,$2 + sll $2,$4,3 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,3 + lw $4,148($fp) + addu $3,$3,$4 + addu $2,$2,$3 + l.d $f0,0($2) + l.d $f2,$LC65 + c.lt.d $f2,$f0 + bc1t $L82 + j $L81 +$L82: + la $4,$LC66 + jal printf + move $2,$0 + j $L46 +$L81: + lw $3,16($fp) + lw $2,20($fp) + move $4,$2 + sll $2,$4,3 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,3 + lw $4,152($fp) + addu $3,$3,$4 + addu $2,$2,$3 + l.d $f0,0($2) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.lt.d $f0,$f2 + bc1f $L83 + la $4,$LC67 + jal printf + move $2,$0 + j $L46 +$L83: + lw $3,16($fp) + lw $2,20($fp) + move $4,$2 + sll $2,$4,3 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,3 + lw $4,152($fp) + addu $3,$3,$4 + addu $2,$2,$3 + l.d $f0,32($fp) + l.d $f2,0($2) + c.lt.d $f0,$f2 + bc1f $L84 + lw $3,16($fp) + lw $2,20($fp) + move $4,$2 + sll $2,$4,3 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,3 + lw $4,152($fp) + addu $3,$3,$4 + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,32($fp) +$L84: +$L79: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L77 +$L78: + l.d $f0,32($fp) + mtc1 $0,$f2 + mtc1 $0,$f3 + c.eq.d $f0,$f2 + bc1f $L85 + la $4,$LC68 + jal printf + move $2,$0 + j $L46 +$L85: +$L73: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L71 +$L72: + lw $3,144($fp) + addu $2,$3,48 + lw $4,144($fp) + addu $3,$4,24 + l.d $f0,0($3) + s.d $f0,0($2) + li $2,0x00000001 # 1 + j $L46 +$L46: + move $sp,$fp # sp not trusted here + lw $31,140($sp) + lw $fp,136($sp) + addu $sp,$sp,144 + j $31 + .end Reader + + .loc 1 504 + .ent Region +Region: + .frame $fp,120,$31 # vars= 88, regs= 2/1, args= 16, extra= 0 + .mask 0xc0000000,-12 + .fmask 0x00300000,-4 + subu $sp,$sp,120 + sw $31,108($sp) + sw $fp,104($sp) + s.d $f20,112($sp) + move $fp,$sp + sw $4,120($fp) + sw $5,124($fp) + sw $6,128($fp) + sw $7,132($fp) + lw $2,128($fp) + lw $4,128($fp) + addu $3,$4,8 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f20,$f0,$f2 + lw $3,128($fp) + addu $2,$3,8 + lw $4,128($fp) + addu $3,$4,16 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + add.d $f20,$f20,$f0 + lw $3,128($fp) + addu $2,$3,16 + lw $3,128($fp) + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + add.d $f20,$f20,$f0 + add.d $f0,$f20,$f20 + s.d $f0,64($fp) + dsz 72($fp) + l.s $f0,120($fp) + #nop + cvt.d.w $f0,$f0 + s.d $f0,80($fp) + lw $2,124($fp) + sw $0,0($2) + sw $0,24($fp) +$L87: + lw $2,24($fp) + slt $3,$2,5 + bne $3,$0,$L90 + j $L88 +$L90: + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + lw $3,24($fp) + move $4,$3 + sll $3,$4,3 + lw $4,128($fp) + addu $3,$3,$4 + addu $4,$3,8 + l.d $f0,0($2) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,72($fp) + add.d $f0,$f2,$f0 + s.d $f0,72($fp) + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $4,124($fp) + addu $3,$2,$4 + addu $2,$3,4 + l.d $f0,80($fp) + l.d $f2,72($fp) + mul.d $f0,$f0,$f2 + l.d $f2,64($fp) + div.d $f0,$f0,$f2 + l.d $f2,$LC69 + add.d $f0,$f0,$f2 + trunc.w.d $f4,$f0,$8 + mfc1 $3,$f4 + subu $4,$3,1 + sw $4,0($2) + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $4,124($fp) + addu $3,$2,$4 + addu $2,$3,8 + lw $3,24($fp) + move $4,$3 + sll $3,$4,3 + lw $4,124($fp) + addu $3,$3,$4 + addu $4,$3,4 + lw $3,0($4) + addu $4,$3,1 + sw $4,0($2) +$L89: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L87 +$L88: + lw $3,124($fp) + addu $2,$3,44 + lw $3,120($fp) + subu $4,$3,1 + sw $4,0($2) + sw $0,24($fp) +$L91: + lw $2,24($fp) + slt $3,$2,6 + bne $3,$0,$L94 + j $L92 +$L94: + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $4,124($fp) + addu $3,$2,$4 + addu $2,$3,4 + lw $3,24($fp) + move $4,$3 + sll $3,$4,3 + lw $4,124($fp) + addu $3,$3,$4 + lw $2,0($2) + lw $3,0($3) + subu $2,$2,$3 + addu $3,$2,1 + sw $3,48($fp) + dsz 80($fp) + lw $2,24($fp) + slt $3,$2,3 + bne $3,$0,$L95 + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + subu $3,$2,8 + l.d $f0,0($3) + s.d $f0,80($fp) +$L95: + l.s $f0,48($fp) + #nop + cvt.d.w $f0,$f0 + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + l.d $f2,0($2) + mul.d $f0,$f0,$f2 + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + addu $3,$2,8 + l.d $f2,0($3) + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal sqrt + l.d $f2,$LC69 + add.d $f0,$f0,$f2 + trunc.w.d $f4,$f0,$8 + s.s $f4,44($fp) + lw $2,44($fp) + lw $3,48($fp) + slt $2,$3,$2 + beq $2,$0,$L96 + lw $2,48($fp) + sw $2,44($fp) +$L96: + lw $2,44($fp) + bne $2,$0,$L97 + li $2,0x00000001 # 1 + sw $2,44($fp) +$L97: + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + l.s $f0,44($fp) + #nop + cvt.d.w $f0,$f0 + l.d $f2,0($2) + div.d $f0,$f2,$f0 + s.d $f0,96($fp) + lw $2,44($fp) + subu $3,$2,1 + sw $3,28($fp) + dsz 64($fp) + sw $0,16($fp) +$L98: + lw $2,16($fp) + lw $3,44($fp) + slt $2,$2,$3 + bne $2,$0,$L101 + j $L99 +$L101: + lw $2,28($fp) + lw $3,44($fp) + div $2,$2,$3 + sw $2,32($fp) + lw $2,28($fp) + lw $3,48($fp) + addu $2,$2,$3 + lw $3,44($fp) + div $2,$2,$3 + lw $3,32($fp) + subu $2,$2,$3 + sw $2,52($fp) + lw $2,52($fp) + bne $2,$0,$L102 + la $4,$LC70 + jal printf + move $2,$0 + j $L86 +$L102: + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,128($fp) + addu $2,$2,$3 + addu $3,$2,8 + l.s $f0,52($fp) + #nop + cvt.d.w $f0,$f0 + l.d $f2,0($3) + div.d $f0,$f2,$f0 + s.d $f0,56($fp) + dsz 72($fp) + l.d $f0,96($fp) + l.d $f2,56($fp) + mul.d $f0,$f0,$f2 + l.d $f2,$LC71 + mul.d $f0,$f0,$f2 + s.d $f0,88($fp) + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,124($fp) + addu $2,$2,$3 + lw $3,0($2) + lw $2,32($fp) + addu $3,$3,$2 + sw $3,40($fp) + lw $2,40($fp) + lw $3,52($fp) + addu $2,$2,$3 + sw $2,36($fp) + lw $2,40($fp) + sw $2,20($fp) +$L103: + lw $2,20($fp) + lw $3,36($fp) + slt $2,$2,$3 + bne $2,$0,$L106 + j $L104 +$L106: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,136($fp) + addu $2,$2,$3 + l.d $f0,96($fp) + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,136($fp) + addu $2,$2,$3 + addu $3,$2,16384 + l.d $f0,56($fp) + s.d $f0,0($3) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,132($fp) + addu $2,$2,$3 + l.d $f0,64($fp) + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,132($fp) + addu $2,$2,$3 + addu $3,$2,16384 + l.d $f0,72($fp) + s.d $f0,0($3) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,132($fp) + addu $2,$2,$3 + li $3,0x00008000 # 32768 + addu $2,$2,$3 + l.d $f0,80($fp) + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,140($fp) + addu $2,$2,$3 + l.d $f0,88($fp) + s.d $f0,0($2) + l.d $f0,72($fp) + l.d $f2,56($fp) + add.d $f0,$f0,$f2 + s.d $f0,72($fp) +$L105: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L103 +$L104: + l.d $f0,64($fp) + l.d $f2,96($fp) + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + lw $2,28($fp) + lw $3,48($fp) + addu $2,$2,$3 + sw $2,28($fp) +$L100: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L98 +$L99: +$L93: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L91 +$L92: + li $2,0x00000001 # 1 + j $L86 +$L86: + move $sp,$fp # sp not trusted here + lw $31,108($sp) + lw $fp,104($sp) + l.d $f20,112($sp) + addu $sp,$sp,120 + j $31 + .end Region + + .loc 1 590 + .ent SetUp1 +SetUp1: + .frame $fp,256,$31 # vars= 232, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,256 + sw $31,252($sp) + sw $fp,248($sp) + move $fp,$sp + sw $4,256($fp) + sw $5,260($fp) + sw $6,264($fp) + sw $7,268($fp) + sw $0,36($fp) +$L108: + lw $2,36($fp) + slt $3,$2,3 + bne $3,$0,$L111 + j $L109 +$L111: + lw $2,36($fp) + addu $3,$2,3 + sw $3,44($fp) + lw $2,44($fp) + move $3,$2 + sll $2,$3,3 + lw $3,260($fp) + addu $2,$2,$3 + lw $3,0($2) + move $2,$3 + sll $3,$2,3 + lw $4,268($fp) + addu $2,$3,$4 + li $3,0x00008000 # 32768 + addu $2,$2,$3 + lw $3,44($fp) + move $4,$3 + sll $3,$4,3 + lw $4,260($fp) + addu $3,$3,$4 + lw $4,0($3) + move $3,$4 + sll $4,$3,3 + lw $5,268($fp) + addu $3,$4,$5 + li $4,0x00008000 # 32768 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + s.d $f0,184($fp) + l.d $f0,184($fp) + l.d $f2,184($fp) + add.d $f0,$f0,$f2 + s.d $f0,224($fp) + lw $2,36($fp) + move $3,$2 + sll $2,$3,3 + lw $3,260($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,40($fp) +$L112: + lw $2,36($fp) + move $3,$2 + sll $2,$3,3 + lw $3,260($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,40($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L115 + j $L113 +$L115: + lw $2,44($fp) + move $3,$2 + sll $2,$3,3 + lw $3,260($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,48($fp) +$L116: + lw $2,44($fp) + move $3,$2 + sll $2,$3,3 + lw $3,260($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,48($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L119 + j $L117 +$L119: + sw $0,20($fp) +$L120: + lw $2,20($fp) + slt $3,$2,2 + bne $3,$0,$L123 + j $L121 +$L123: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,40 + lw $4,20($fp) + lw $3,48($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,268($fp) + addu $4,$5,$6 + addu $3,$3,$4 + lw $5,20($fp) + lw $4,40($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,268($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + sub.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,72 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,40 + lw $5,20($fp) + lw $4,48($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,272($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + add.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,56 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,40 + lw $5,20($fp) + lw $4,40($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,272($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + sub.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,88 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,72 + lw $5,20($fp) + lw $4,40($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,272($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + sub.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,104 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,40 + lw $4,20($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,16 + addu $4,$4,$5 + addu $5,$4,40 + l.d $f0,0($3) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,136 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,72 + lw $4,20($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,16 + addu $4,$4,$5 + addu $5,$4,72 + l.d $f0,0($3) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,120 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,56 + lw $4,20($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,16 + addu $4,$4,$5 + addu $5,$4,56 + l.d $f0,0($3) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,152 + lw $3,20($fp) + move $4,$3 + sll $3,$4,3 + addu $5,$fp,16 + addu $4,$3,$5 + addu $3,$4,88 + lw $4,20($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,16 + addu $4,$4,$5 + addu $5,$4,88 + l.d $f0,0($3) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L122: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L120 +$L121: + dsz 192($fp) + sw $0,28($fp) +$L124: + lw $2,28($fp) + slt $3,$2,2 + bne $3,$0,$L127 + j $L125 +$L127: + sw $0,16($fp) +$L128: + lw $2,16($fp) + slt $3,$2,2 + bne $3,$0,$L131 + j $L129 +$L131: + lw $2,16($fp) + move $3,$2 + sll $2,$3,4 + lw $3,28($fp) + move $4,$3 + sll $3,$4,5 + addu $2,$2,$3 + addu $3,$fp,120 + addu $2,$3,$2 + l.d $f0,8($2) + l.d $f2,184($fp) + add.d $f0,$f0,$f2 + s.d $f0,200($fp) + l.d $f12,200($fp) + jal sqrt + s.d $f0,208($fp) + l.d $f0,$LC72 + l.d $f2,208($fp) + div.d $f0,$f0,$f2 + s.d $f0,216($fp) + dsz 240($fp) + sw $0,24($fp) +$L132: + lw $2,24($fp) + slt $3,$2,2 + bne $3,$0,$L135 + j $L133 +$L135: + sw $0,32($fp) +$L136: + lw $2,32($fp) + slt $3,$2,2 + bne $3,$0,$L139 + j $L137 +$L139: + lw $2,32($fp) + move $3,$2 + sll $2,$3,4 + lw $3,24($fp) + move $4,$3 + sll $3,$4,5 + addu $2,$2,$3 + addu $3,$fp,56 + addu $2,$3,$2 + l.d $f0,0($2) + s.d $f0,232($fp) + l.d $f0,232($fp) + l.d $f2,216($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + l.d $f4,232($fp) + neg.d $f2,$f4 + mul.d $f0,$f2,$f0 + l.d $f2,240($fp) + sub.d $f0,$f0,$f2 + s.d $f0,240($fp) +$L138: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L136 +$L137: + l.d $f0,240($fp) + neg.d $f2,$f0 + s.d $f2,240($fp) +$L134: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L132 +$L133: + l.d $f0,152($fp) + l.d $f2,200($fp) + add.d $f0,$f0,$f2 + l.d $f2,136($fp) + l.d $f4,200($fp) + add.d $f2,$f2,$f4 + mul.d $f0,$f0,$f2 + l.d $f2,120($fp) + l.d $f4,200($fp) + add.d $f2,$f2,$f4 + l.d $f4,168($fp) + l.d $f6,200($fp) + add.d $f4,$f4,$f6 + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + l.d $f2,208($fp) + l.d $f4,$LC73 + mul.d $f2,$f2,$f4 + l.d $f4,240($fp) + mul.d $f2,$f2,$f4 + l.d $f4,192($fp) + sub.d $f2,$f2,$f4 + l.d $f4,224($fp) + mul.d $f0,$f0,$f4 + sub.d $f2,$f2,$f0 + s.d $f2,192($fp) +$L130: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L128 +$L129: + l.d $f0,192($fp) + neg.d $f2,$f0 + s.d $f2,192($fp) +$L126: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L124 +$L125: + .set noreorder + nop + .set reorder + sw $0,28($fp) +$L140: + lw $2,28($fp) + slt $3,$2,2 + bne $3,$0,$L143 + j $L141 +$L143: + sw $0,16($fp) +$L144: + lw $2,16($fp) + slt $3,$2,2 + bne $3,$0,$L147 + j $L145 +$L147: + lw $2,16($fp) + move $3,$2 + sll $2,$3,4 + lw $3,28($fp) + move $4,$3 + sll $3,$4,5 + addu $2,$2,$3 + addu $3,$fp,120 + addu $2,$3,$2 + l.d $f0,0($2) + l.d $f2,184($fp) + add.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal sqrt + s.d $f0,208($fp) + l.d $f0,$LC72 + l.d $f2,208($fp) + div.d $f0,$f0,$f2 + s.d $f0,216($fp) + dsz 240($fp) + sw $0,24($fp) +$L148: + lw $2,24($fp) + slt $3,$2,2 + bne $3,$0,$L151 + j $L149 +$L151: + sw $0,32($fp) +$L152: + lw $2,32($fp) + slt $3,$2,2 + bne $3,$0,$L155 + j $L153 +$L155: + lw $2,32($fp) + move $3,$2 + sll $2,$3,4 + lw $3,24($fp) + move $4,$3 + sll $3,$4,5 + addu $2,$2,$3 + addu $3,$fp,56 + addu $2,$3,$2 + l.d $f0,8($2) + s.d $f0,232($fp) + l.d $f0,232($fp) + l.d $f2,216($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + l.d $f4,232($fp) + neg.d $f2,$f4 + mul.d $f0,$f2,$f0 + l.d $f2,240($fp) + sub.d $f0,$f0,$f2 + s.d $f0,240($fp) +$L154: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L152 +$L153: + l.d $f0,240($fp) + neg.d $f2,$f0 + s.d $f2,240($fp) +$L150: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L148 +$L149: + l.d $f0,208($fp) + l.d $f2,$LC73 + mul.d $f0,$f0,$f2 + l.d $f2,240($fp) + mul.d $f0,$f0,$f2 + l.d $f2,192($fp) + sub.d $f0,$f0,$f2 + s.d $f0,192($fp) +$L146: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L144 +$L145: + l.d $f0,192($fp) + neg.d $f2,$f0 + s.d $f2,192($fp) +$L142: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L140 +$L141: + lw $3,40($fp) + lw $2,48($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,264($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,192($fp) + s.d $f0,0($2) + lw $3,48($fp) + lw $2,40($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,264($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,192($fp) + s.d $f0,0($2) +$L118: + lw $3,48($fp) + addu $2,$3,1 + move $3,$2 + sw $3,48($fp) + j $L116 +$L117: +$L114: + lw $3,40($fp) + addu $2,$3,1 + move $3,$2 + sw $3,40($fp) + j $L112 +$L113: +$L110: + lw $3,36($fp) + addu $2,$3,1 + move $3,$2 + sw $3,36($fp) + j $L108 +$L109: +$L107: + move $sp,$fp # sp not trusted here + lw $31,252($sp) + lw $fp,248($sp) + addu $sp,$sp,256 + j $31 + .end SetUp1 + + .loc 1 673 + .ent SetUp2 +SetUp2: + .frame $fp,512,$31 # vars= 440, regs= 2/6, args= 16, extra= 0 + .mask 0xc0000000,-52 + .fmask 0xfff00000,-4 + subu $sp,$sp,512 + sw $31,460($sp) + sw $fp,456($sp) + s.d $f30,504($sp) + s.d $f28,496($sp) + s.d $f26,488($sp) + s.d $f24,480($sp) + s.d $f22,472($sp) + s.d $f20,464($sp) + move $fp,$sp + sw $4,512($fp) + sw $5,516($fp) + sw $6,520($fp) + sw $7,524($fp) + sw $0,20($fp) +$L157: + lw $2,20($fp) + slt $3,$2,6 + bne $3,$0,$L160 + j $L158 +$L160: + sw $0,16($fp) +$L161: + lw $2,16($fp) + slt $3,$2,2 + bne $3,$0,$L164 + j $L162 +$L164: + lw $2,20($fp) + lw $4,16($fp) + addu $3,$2,$4 + addu $2,$3,1 + li $6,0x2aaaaaab # 715827883 + mult $2,$6 + mfhi $5 + mflo $4 + srl $6,$5,0 + move $7,$0 + sra $4,$2,31 + subu $3,$6,$4 + move $5,$3 + sll $4,$5,1 + addu $4,$4,$3 + sll $3,$4,1 + subu $2,$2,$3 + sw $2,28($fp) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,516($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,24($fp) +$L165: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,516($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,24($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L168 + j $L166 +$L168: + lw $3,16($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,524($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $3,28($fp) + move $4,$3 + sll $3,$4,3 + lw $4,516($fp) + addu $3,$3,$4 + lw $4,0($3) + move $3,$4 + sll $4,$3,3 + lw $5,524($fp) + addu $3,$4,$5 + li $4,0x00008000 # 32768 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + sub.d $f0,$f0,$f2 + s.d $f0,216($fp) + lw $3,16($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,528($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,216($fp) + l.d $f2,0($2) + add.d $f0,$f0,$f2 + s.d $f0,224($fp) + l.d $f0,216($fp) + l.d $f2,216($fp) + mul.d $f0,$f0,$f2 + s.d $f0,216($fp) + l.d $f0,224($fp) + l.d $f2,224($fp) + mul.d $f0,$f0,$f2 + s.d $f0,224($fp) + lw $2,28($fp) + move $3,$2 + sll $2,$3,3 + lw $3,516($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,32($fp) +$L169: + lw $2,28($fp) + move $3,$2 + sll $2,$3,3 + lw $3,516($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,32($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L172 + j $L170 +$L172: + lw $3,16($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,524($fp) + addu $3,$4,$5 + addu $2,$2,$3 + li $3,0x00000001 # 1 + lw $5,16($fp) + subu $4,$3,$5 + lw $3,24($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,524($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + sub.d $f0,$f0,$f2 + s.d $f0,56($fp) + lw $3,16($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,528($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,56($fp) + l.d $f2,0($2) + add.d $f0,$f0,$f2 + s.d $f0,64($fp) + li $2,0x00000001 # 1 + lw $4,16($fp) + subu $3,$2,$4 + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,528($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,56($fp) + l.d $f2,0($2) + sub.d $f0,$f0,$f2 + s.d $f0,72($fp) + li $2,0x00000001 # 1 + lw $4,16($fp) + subu $3,$2,$4 + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,528($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,64($fp) + l.d $f2,0($2) + sub.d $f0,$f0,$f2 + s.d $f0,80($fp) + l.d $f0,56($fp) + l.d $f2,56($fp) + mul.d $f0,$f0,$f2 + s.d $f0,88($fp) + l.d $f0,64($fp) + l.d $f2,64($fp) + mul.d $f0,$f0,$f2 + s.d $f0,96($fp) + l.d $f0,72($fp) + l.d $f2,72($fp) + mul.d $f0,$f0,$f2 + s.d $f0,104($fp) + l.d $f0,80($fp) + l.d $f2,80($fp) + mul.d $f0,$f0,$f2 + s.d $f0,112($fp) + li $2,0x00000001 # 1 + lw $4,16($fp) + subu $3,$2,$4 + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,524($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $3,24($fp) + move $4,$3 + sll $3,$4,3 + lw $4,524($fp) + addu $3,$3,$4 + li $4,0x00008000 # 32768 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + sub.d $f0,$f0,$f2 + s.d $f0,232($fp) + li $2,0x00000001 # 1 + lw $4,16($fp) + subu $3,$2,$4 + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,528($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,232($fp) + l.d $f2,0($2) + add.d $f0,$f0,$f2 + s.d $f0,240($fp) + l.d $f0,232($fp) + l.d $f2,232($fp) + mul.d $f0,$f0,$f2 + l.d $f2,$LC74 + add.d $f0,$f0,$f2 + s.d $f0,232($fp) + l.d $f0,240($fp) + l.d $f2,240($fp) + mul.d $f0,$f0,$f2 + l.d $f2,$LC74 + add.d $f0,$f0,$f2 + s.d $f0,240($fp) + l.d $f0,216($fp) + l.d $f2,232($fp) + add.d $f0,$f0,$f2 + s.d $f0,152($fp) + l.d $f0,216($fp) + l.d $f2,240($fp) + add.d $f0,$f0,$f2 + s.d $f0,160($fp) + l.d $f0,224($fp) + l.d $f2,232($fp) + add.d $f0,$f0,$f2 + s.d $f0,168($fp) + l.d $f0,224($fp) + l.d $f2,240($fp) + add.d $f0,$f0,$f2 + s.d $f0,176($fp) + l.d $f12,152($fp) + jal sqrt + s.d $f0,120($fp) + l.d $f12,160($fp) + jal sqrt + s.d $f0,128($fp) + l.d $f12,168($fp) + jal sqrt + s.d $f0,136($fp) + l.d $f12,176($fp) + jal sqrt + s.d $f0,144($fp) + l.d $f0,$LC75 + l.d $f2,120($fp) + div.d $f0,$f0,$f2 + s.d $f0,184($fp) + l.d $f0,$LC75 + l.d $f2,128($fp) + div.d $f0,$f0,$f2 + s.d $f0,192($fp) + l.d $f0,$LC75 + l.d $f2,136($fp) + div.d $f0,$f0,$f2 + s.d $f0,200($fp) + l.d $f0,$LC75 + l.d $f2,144($fp) + div.d $f0,$f0,$f2 + s.d $f0,208($fp) + l.d $f0,56($fp) + l.d $f2,184($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f20,$f0 + l.d $f0,64($fp) + l.d $f2,184($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f22,$f0 + l.d $f0,72($fp) + l.d $f2,184($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f24,$f0 + l.d $f0,80($fp) + l.d $f2,184($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f26,$f0 + l.d $f0,56($fp) + l.d $f2,192($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f28,$f0 + l.d $f0,64($fp) + l.d $f2,192($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + mov.d $f30,$f0 + l.d $f0,72($fp) + l.d $f2,192($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,376($fp) + l.d $f0,80($fp) + l.d $f2,192($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,384($fp) + l.d $f0,56($fp) + l.d $f2,200($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,392($fp) + l.d $f0,64($fp) + l.d $f2,200($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,400($fp) + l.d $f0,72($fp) + l.d $f2,200($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,408($fp) + l.d $f0,80($fp) + l.d $f2,200($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,416($fp) + l.d $f0,56($fp) + l.d $f2,208($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,424($fp) + l.d $f0,64($fp) + l.d $f2,208($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,432($fp) + l.d $f0,72($fp) + l.d $f2,208($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + s.d $f0,440($fp) + l.d $f0,80($fp) + l.d $f2,208($fp) + mul.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal atan + l.d $f4,56($fp) + mul.d $f2,$f20,$f4 + l.d $f6,64($fp) + mul.d $f4,$f22,$f6 + sub.d $f2,$f2,$f4 + l.d $f6,72($fp) + mul.d $f4,$f24,$f6 + sub.d $f2,$f2,$f4 + l.d $f6,80($fp) + mul.d $f4,$f26,$f6 + add.d $f2,$f2,$f4 + l.d $f4,120($fp) + mul.d $f2,$f2,$f4 + l.d $f4,56($fp) + neg.d $f6,$f4 + mul.d $f4,$f6,$f28 + l.d $f8,64($fp) + mul.d $f6,$f30,$f8 + add.d $f4,$f4,$f6 + l.d $f8,72($fp) + l.d $f10,376($fp) + mul.d $f6,$f10,$f8 + add.d $f4,$f4,$f6 + l.d $f8,80($fp) + l.d $f10,384($fp) + mul.d $f6,$f10,$f8 + sub.d $f4,$f4,$f6 + l.d $f6,128($fp) + mul.d $f4,$f4,$f6 + add.d $f2,$f2,$f4 + l.d $f4,56($fp) + neg.d $f6,$f4 + l.d $f10,392($fp) + mul.d $f4,$f6,$f10 + l.d $f8,64($fp) + l.d $f10,400($fp) + mul.d $f6,$f10,$f8 + add.d $f4,$f4,$f6 + l.d $f8,72($fp) + l.d $f10,408($fp) + mul.d $f6,$f10,$f8 + add.d $f4,$f4,$f6 + l.d $f8,80($fp) + l.d $f10,416($fp) + mul.d $f6,$f10,$f8 + sub.d $f4,$f4,$f6 + l.d $f6,136($fp) + mul.d $f4,$f4,$f6 + add.d $f2,$f2,$f4 + l.d $f6,56($fp) + l.d $f10,424($fp) + mul.d $f4,$f10,$f6 + l.d $f8,64($fp) + l.d $f10,432($fp) + mul.d $f6,$f10,$f8 + sub.d $f4,$f4,$f6 + l.d $f8,72($fp) + l.d $f10,440($fp) + mul.d $f6,$f10,$f8 + sub.d $f4,$f4,$f6 + l.d $f6,80($fp) + mul.d $f0,$f0,$f6 + add.d $f4,$f4,$f0 + l.d $f6,144($fp) + mul.d $f0,$f4,$f6 + add.d $f2,$f2,$f0 + s.d $f2,48($fp) + l.d $f0,88($fp) + l.d $f2,152($fp) + add.d $f0,$f0,$f2 + s.d $f0,248($fp) + l.d $f0,96($fp) + l.d $f2,152($fp) + add.d $f0,$f0,$f2 + s.d $f0,256($fp) + l.d $f0,104($fp) + l.d $f2,152($fp) + add.d $f0,$f0,$f2 + s.d $f0,264($fp) + l.d $f0,112($fp) + l.d $f2,152($fp) + add.d $f0,$f0,$f2 + s.d $f0,272($fp) + l.d $f0,88($fp) + l.d $f2,160($fp) + add.d $f0,$f0,$f2 + s.d $f0,280($fp) + l.d $f0,96($fp) + l.d $f2,160($fp) + add.d $f0,$f0,$f2 + s.d $f0,288($fp) + l.d $f0,104($fp) + l.d $f2,160($fp) + add.d $f0,$f0,$f2 + s.d $f0,296($fp) + l.d $f0,112($fp) + l.d $f2,160($fp) + add.d $f0,$f0,$f2 + s.d $f0,304($fp) + l.d $f0,88($fp) + l.d $f2,168($fp) + add.d $f0,$f0,$f2 + s.d $f0,312($fp) + l.d $f0,96($fp) + l.d $f2,168($fp) + add.d $f0,$f0,$f2 + s.d $f0,320($fp) + l.d $f0,104($fp) + l.d $f2,168($fp) + add.d $f0,$f0,$f2 + s.d $f0,328($fp) + l.d $f0,112($fp) + l.d $f2,168($fp) + add.d $f0,$f0,$f2 + s.d $f0,336($fp) + l.d $f0,88($fp) + l.d $f2,176($fp) + add.d $f0,$f0,$f2 + s.d $f0,344($fp) + l.d $f0,96($fp) + l.d $f2,176($fp) + add.d $f0,$f0,$f2 + s.d $f0,352($fp) + l.d $f0,104($fp) + l.d $f2,176($fp) + add.d $f0,$f0,$f2 + s.d $f0,360($fp) + l.d $f0,112($fp) + l.d $f2,176($fp) + add.d $f0,$f0,$f2 + s.d $f0,368($fp) + l.d $f0,248($fp) + l.d $f2,344($fp) + mul.d $f0,$f0,$f2 + l.d $f2,280($fp) + l.d $f4,312($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f20,$f0 + l.d $f0,256($fp) + l.d $f2,352($fp) + mul.d $f0,$f0,$f2 + l.d $f2,288($fp) + l.d $f4,320($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f22,$f0 + l.d $f0,264($fp) + l.d $f2,360($fp) + mul.d $f0,$f0,$f2 + l.d $f2,296($fp) + l.d $f4,328($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f24,$f0 + l.d $f0,272($fp) + l.d $f2,368($fp) + mul.d $f0,$f0,$f2 + l.d $f2,304($fp) + l.d $f4,336($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f26,$f0 + l.d $f0,248($fp) + l.d $f2,272($fp) + mul.d $f0,$f0,$f2 + l.d $f2,256($fp) + l.d $f4,264($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f28,$f0 + l.d $f0,280($fp) + l.d $f2,304($fp) + mul.d $f0,$f0,$f2 + l.d $f2,288($fp) + l.d $f4,296($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + mov.d $f30,$f0 + l.d $f0,312($fp) + l.d $f2,336($fp) + mul.d $f0,$f0,$f2 + l.d $f2,320($fp) + l.d $f4,328($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + s.d $f0,448($fp) + l.d $f0,344($fp) + l.d $f2,368($fp) + mul.d $f0,$f0,$f2 + l.d $f2,352($fp) + l.d $f4,360($fp) + mul.d $f2,$f2,$f4 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal log + l.d $f4,88($fp) + mul.d $f2,$f20,$f4 + l.d $f6,96($fp) + mul.d $f4,$f22,$f6 + sub.d $f2,$f2,$f4 + l.d $f6,104($fp) + mul.d $f4,$f24,$f6 + sub.d $f2,$f2,$f4 + l.d $f6,112($fp) + mul.d $f4,$f26,$f6 + add.d $f2,$f2,$f4 + l.d $f6,152($fp) + mul.d $f4,$f28,$f6 + sub.d $f2,$f2,$f4 + l.d $f6,160($fp) + mul.d $f4,$f30,$f6 + add.d $f2,$f2,$f4 + l.d $f6,168($fp) + l.d $f10,448($fp) + mul.d $f4,$f10,$f6 + add.d $f2,$f2,$f4 + l.d $f4,176($fp) + mul.d $f0,$f0,$f4 + sub.d $f2,$f2,$f0 + s.d $f2,40($fp) + lw $3,24($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,520($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,48($fp) + l.d $f2,$LC76 + mul.d $f0,$f0,$f2 + l.d $f2,40($fp) + add.d $f0,$f0,$f2 + abs.d $f2,$f0 + s.d $f2,0($2) + lw $3,32($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,520($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,24($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,520($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) +$L171: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L169 +$L170: +$L167: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L165 +$L166: +$L163: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L161 +$L162: +$L159: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L157 +$L158: +$L156: + move $sp,$fp # sp not trusted here + lw $31,460($sp) + lw $fp,456($sp) + l.d $f30,504($sp) + l.d $f28,496($sp) + l.d $f26,488($sp) + l.d $f24,480($sp) + l.d $f22,472($sp) + l.d $f20,464($sp) + addu $sp,$sp,512 + j $31 + .end SetUp2 + + .loc 1 787 + .ent SetUp3 +SetUp3: + .frame $fp,96,$31 # vars= 72, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,96 + sw $31,92($sp) + sw $fp,88($sp) + move $fp,$sp + sw $4,96($fp) + sw $5,100($fp) + sw $6,104($fp) + sw $7,108($fp) + sw $0,20($fp) +$L174: + lw $2,20($fp) + slt $3,$2,6 + bne $3,$0,$L177 + j $L175 +$L177: + sw $0,16($fp) +$L178: + lw $2,16($fp) + slt $3,$2,3 + bne $3,$0,$L181 + j $L179 +$L181: + lw $2,16($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,24 + lw $4,20($fp) + lw $3,16($fp) + move $5,$3 + sll $3,$5,3 + move $6,$4 + sll $5,$6,1 + addu $5,$5,$4 + sll $4,$5,3 + lw $5,108($fp) + addu $4,$4,$5 + addu $3,$3,$4 + l.d $f0,$LC77 + l.d $f2,0($3) + div.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $2,16($fp) + move $3,$2 + sll $2,$3,3 + addu $4,$fp,16 + addu $3,$2,$4 + addu $2,$3,48 + lw $4,20($fp) + lw $3,16($fp) + move $5,$3 + sll $3,$5,3 + move $6,$4 + sll $5,$6,1 + addu $5,$5,$4 + sll $4,$5,3 + lw $5,112($fp) + addu $4,$4,$5 + addu $3,$3,$4 + lw $4,16($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$fp,16 + addu $4,$4,$5 + addu $5,$4,24 + l.d $f0,0($3) + l.d $f2,0($5) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L180: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L178 +$L179: + .set noreorder + nop + .set reorder + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,24($fp) +$L182: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,24($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L185 + j $L183 +$L185: + dsz 32($fp) + sw $0,28($fp) +$L186: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + lw $3,28($fp) + lw $2,0($2) + slt $3,$3,$2 + bne $3,$0,$L189 + j $L187 +$L189: + lw $3,24($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,116($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,32($fp) + l.d $f2,0($2) + add.d $f0,$f0,$f2 + s.d $f0,32($fp) +$L188: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L186 +$L187: + .set noreorder + nop + .set reorder + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,0($3) + addu $3,$2,1 + sw $3,28($fp) +$L190: + lw $2,28($fp) + lw $3,96($fp) + slt $2,$2,$3 + bne $2,$0,$L193 + j $L191 +$L193: + lw $3,24($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,116($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,32($fp) + l.d $f2,0($2) + add.d $f0,$f0,$f2 + s.d $f0,32($fp) +$L192: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L190 +$L191: + lw $2,24($fp) + move $3,$2 + sll $2,$3,3 + lw $3,104($fp) + addu $2,$2,$3 + l.d $f0,32($fp) + l.d $f4,0($2) + sub.d $f2,$f0,$f4 + abs.d $f0,$f2 + l.d $f2,32($fp) + l.d $f4,$LC78 + mul.d $f2,$f2,$f4 + c.lt.d $f2,$f0 + bc1f $L194 + la $4,$LC79 + jal printf + move $2,$0 + j $L173 +$L194: + l.d $f0,32($fp) + neg.d $f2,$f0 + s.d $f2,32($fp) + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,28($fp) +$L195: + lw $2,20($fp) + move $3,$2 + sll $2,$3,3 + lw $3,100($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,28($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L198 + j $L196 +$L198: + lw $3,24($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,116($fp) + addu $3,$4,$5 + addu $2,$2,$3 + dsz 0($2) +$L197: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L195 +$L196: + .set noreorder + nop + .set reorder + sw $0,16($fp) +$L199: + lw $2,16($fp) + slt $3,$2,3 + bne $3,$0,$L202 + j $L200 +$L202: + lw $3,16($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,120($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $3,16($fp) + move $4,$3 + sll $3,$4,3 + addu $4,$fp,16 + addu $3,$3,$4 + addu $4,$3,24 + l.d $f0,0($4) + l.d $f2,32($fp) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $3,16($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,124($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $3,16($fp) + move $4,$3 + sll $3,$4,3 + addu $4,$fp,16 + addu $3,$3,$4 + addu $4,$3,48 + l.d $f0,0($4) + l.d $f2,32($fp) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L201: + lw $3,16($fp) + addu $2,$3,1 + move $3,$2 + sw $3,16($fp) + j $L199 +$L200: +$L184: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L182 +$L183: +$L176: + lw $3,20($fp) + addu $2,$3,1 + move $3,$2 + sw $3,20($fp) + j $L174 +$L175: + li $2,0x00000001 # 1 + j $L173 +$L173: + move $sp,$fp # sp not trusted here + lw $31,92($sp) + lw $fp,88($sp) + addu $sp,$sp,96 + j $31 + .end SetUp3 + + .loc 1 855 + .ent Solver +Solver: + .frame $fp,56,$31 # vars= 24, regs= 2/0, args= 24, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,56 + sw $31,52($sp) + sw $fp,48($sp) + move $fp,$sp + sw $4,56($fp) + sw $5,60($fp) + sw $6,64($fp) + sw $7,68($fp) + sw $0,36($fp) +$L204: + lw $2,36($fp) + slt $3,$2,3 + bne $3,$0,$L207 + j $L205 +$L207: + lw $2,60($fp) + sw $2,24($fp) +$L208: + lw $2,24($fp) + lw $3,56($fp) + slt $2,$2,$3 + bne $2,$0,$L211 + j $L209 +$L211: + lw $3,24($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,24($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,68($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + lw $3,36($fp) + lw $2,24($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,24($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,72($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + sw $0,28($fp) +$L212: + lw $2,28($fp) + lw $3,24($fp) + slt $2,$2,$3 + bne $2,$0,$L215 + j $L213 +$L215: + lw $3,24($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,28($fp) + lw $3,24($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,64($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) +$L214: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L212 +$L213: +$L210: + lw $3,24($fp) + addu $2,$3,1 + move $3,$2 + sw $3,24($fp) + j $L208 +$L209: + .set noreorder + nop + .set reorder + sw $0,28($fp) +$L216: + lw $2,28($fp) + lw $3,60($fp) + slt $2,$2,$3 + bne $2,$0,$L219 + j $L217 +$L219: + lw $3,28($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,28($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,68($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,$LC80 + l.d $f2,0($3) + div.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $3,36($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,28($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,72($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) +$L218: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L216 +$L217: + .set noreorder + nop + .set reorder + lw $2,60($fp) + sw $2,28($fp) +$L220: + lw $2,28($fp) + lw $3,56($fp) + slt $2,$2,$3 + bne $2,$0,$L223 + j $L221 +$L223: + lw $2,60($fp) + sw $2,32($fp) +$L224: + lw $2,32($fp) + lw $3,28($fp) + slt $2,$2,$3 + bne $2,$0,$L227 + j $L225 +$L227: + lw $2,32($fp) + move $3,$2 + sll $2,$3,14 + lw $3,64($fp) + addu $2,$2,$3 + lw $3,28($fp) + move $4,$3 + sll $3,$4,14 + lw $4,64($fp) + addu $3,$3,$4 + li $4,0x00000001 # 1 + sw $4,16($sp) + lw $4,32($fp) + move $5,$2 + li $6,0x00000001 # 1 + move $7,$3 + jal Ddot + lw $3,28($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,28($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,64($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f2,0($3) + sub.d $f0,$f2,$f0 + s.d $f0,0($2) +$L226: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L224 +$L225: + .set noreorder + nop + .set reorder + sw $0,32($fp) +$L228: + lw $2,32($fp) + lw $3,28($fp) + slt $2,$2,$3 + bne $2,$0,$L231 + j $L229 +$L231: + lw $3,28($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,40($fp) + lw $3,28($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,32($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,64($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,40($fp) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) + lw $3,28($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,28($fp) + lw $3,28($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,64($fp) + addu $4,$5,$6 + addu $3,$3,$4 + lw $5,28($fp) + lw $4,32($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,64($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,40($fp) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + l.d $f2,0($3) + sub.d $f0,$f2,$f0 + s.d $f0,0($2) +$L230: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L228 +$L229: + lw $3,28($fp) + lw $2,28($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,64($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,28($fp) + lw $3,28($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,64($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,$LC80 + l.d $f2,0($3) + div.d $f0,$f0,$f2 + s.d $f0,0($2) +$L222: + lw $3,28($fp) + addu $2,$3,1 + move $3,$2 + sw $3,28($fp) + j $L220 +$L221: + .set noreorder + nop + .set reorder + lw $2,60($fp) + sw $2,32($fp) +$L232: + lw $2,32($fp) + lw $3,56($fp) + slt $2,$2,$3 + bne $2,$0,$L235 + j $L233 +$L235: + lw $2,36($fp) + move $3,$2 + sll $2,$3,14 + lw $3,76($fp) + addu $2,$2,$3 + lw $3,32($fp) + move $4,$3 + sll $3,$4,14 + lw $4,64($fp) + addu $3,$3,$4 + li $4,0x00000001 # 1 + sw $4,16($sp) + lw $4,32($fp) + move $5,$2 + li $6,0x00000001 # 1 + move $7,$3 + jal Ddot + lw $3,36($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,76($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f2,0($3) + sub.d $f0,$f2,$f0 + s.d $f0,0($2) +$L234: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L232 +$L233: + .set noreorder + nop + .set reorder + sw $0,32($fp) +$L236: + lw $2,32($fp) + lw $3,56($fp) + slt $2,$2,$3 + bne $2,$0,$L239 + j $L237 +$L239: + lw $3,36($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,76($fp) + addu $4,$5,$6 + addu $3,$3,$4 + lw $5,32($fp) + lw $4,32($fp) + move $6,$4 + sll $4,$6,3 + sll $6,$5,14 + lw $7,64($fp) + addu $5,$6,$7 + addu $4,$4,$5 + l.d $f0,0($3) + l.d $f2,0($4) + mul.d $f0,$f0,$f2 + s.d $f0,0($2) +$L238: + lw $3,32($fp) + addu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L236 +$L237: + .set noreorder + nop + .set reorder + lw $2,56($fp) + subu $3,$2,2 + sw $3,32($fp) +$L240: + lw $2,32($fp) + lw $3,60($fp) + slt $2,$2,$3 + beq $2,$0,$L243 + j $L241 +$L243: + lw $3,56($fp) + subu $2,$3,1 + lw $3,32($fp) + subu $2,$2,$3 + lw $3,36($fp) + move $4,$3 + sll $3,$4,14 + lw $4,76($fp) + addu $3,$3,$4 + lw $4,32($fp) + move $5,$4 + sll $4,$5,3 + addu $5,$4,8 + addu $3,$3,$5 + lw $4,32($fp) + move $5,$4 + sll $4,$5,14 + addu $5,$4,16384 + lw $6,64($fp) + addu $4,$5,$6 + lw $5,32($fp) + move $6,$5 + sll $5,$6,3 + addu $7,$4,$5 + li $4,0x00000800 # 2048 + sw $4,16($sp) + move $4,$2 + move $5,$3 + li $6,0x00000001 # 1 + jal Ddot + lw $3,36($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,76($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f2,0($3) + sub.d $f0,$f2,$f0 + s.d $f0,0($2) +$L242: + lw $3,32($fp) + subu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L240 +$L241: + .set noreorder + nop + .set reorder + lw $2,60($fp) + subu $3,$2,1 + sw $3,32($fp) +$L244: + lw $2,32($fp) + bgez $2,$L247 + j $L245 +$L247: + lw $2,56($fp) + lw $3,60($fp) + subu $2,$2,$3 + lw $3,36($fp) + move $4,$3 + sll $3,$4,14 + lw $4,76($fp) + addu $3,$3,$4 + lw $4,60($fp) + move $5,$4 + sll $4,$5,3 + addu $3,$3,$4 + lw $4,60($fp) + move $5,$4 + sll $4,$5,14 + lw $5,64($fp) + addu $4,$4,$5 + lw $5,32($fp) + move $6,$5 + sll $5,$6,3 + addu $7,$4,$5 + li $4,0x00000800 # 2048 + sw $4,16($sp) + move $4,$2 + move $5,$3 + li $6,0x00000001 # 1 + jal Ddot + lw $3,36($fp) + lw $2,32($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,36($fp) + lw $3,32($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,76($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f2,0($3) + sub.d $f0,$f2,$f0 + s.d $f0,0($2) +$L246: + lw $3,32($fp) + subu $2,$3,1 + move $3,$2 + sw $3,32($fp) + j $L244 +$L245: +$L206: + lw $3,36($fp) + addu $2,$3,1 + move $3,$2 + sw $3,36($fp) + j $L204 +$L205: +$L203: + move $sp,$fp # sp not trusted here + lw $31,52($sp) + lw $fp,48($sp) + addu $sp,$sp,56 + j $31 + .end Solver + + .loc 1 919 + .ent Storer +Storer: + .frame $fp,80,$31 # vars= 16, regs= 2/0, args= 56, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,80 + sw $31,76($sp) + sw $fp,72($sp) + move $fp,$sp + sw $4,80($fp) + sw $5,84($fp) + sw $6,88($fp) + sw $7,92($fp) + la $4,$LC32 + la $5,$LC81 + jal fopen + sw $2,68($fp) + lw $2,68($fp) + bne $2,$0,$L249 + la $4,$LC82 + jal printf + li $4,0x00000001 # 1 + jal exit +$L249: + lw $4,68($fp) + la $5,$LC50 + lw $6,80($fp) + jal fprintf + lw $4,68($fp) + la $5,$LC83 + jal fprintf + sw $0,60($fp) +$L250: + lw $2,60($fp) + slt $3,$2,6 + bne $3,$0,$L253 + j $L251 +$L253: + lw $2,60($fp) + move $3,$2 + sll $2,$3,3 + lw $3,84($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,64($fp) +$L254: + lw $2,60($fp) + move $3,$2 + sll $2,$3,3 + lw $3,84($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,64($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L257 + j $L255 +$L257: + lw $3,64($fp) + addu $2,$3,1 + lw $4,60($fp) + addu $3,$4,1 + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,88($fp) + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,16($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,88($fp) + addu $4,$4,$5 + addu $5,$4,16384 + l.d $f0,0($5) + s.d $f0,24($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,88($fp) + addu $4,$4,$5 + li $5,0x00008000 # 32768 + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,32($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,92($fp) + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,40($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,92($fp) + addu $4,$4,$5 + addu $5,$4,16384 + l.d $f0,0($5) + s.d $f0,48($sp) + lw $4,68($fp) + la $5,$LC84 + move $6,$2 + move $7,$3 + jal fprintf +$L256: + lw $3,64($fp) + addu $2,$3,1 + move $3,$2 + sw $3,64($fp) + j $L254 +$L255: +$L252: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L250 +$L251: + lw $4,68($fp) + la $5,$LC85 + jal fprintf + sw $0,60($fp) +$L258: + lw $2,60($fp) + slt $3,$2,6 + bne $3,$0,$L261 + j $L259 +$L261: + lw $2,60($fp) + move $3,$2 + sll $2,$3,3 + lw $3,84($fp) + addu $2,$2,$3 + lw $3,0($2) + sw $3,64($fp) +$L262: + lw $2,60($fp) + move $3,$2 + sll $2,$3,3 + lw $3,84($fp) + addu $2,$2,$3 + addu $3,$2,4 + lw $2,64($fp) + lw $3,0($3) + slt $2,$3,$2 + beq $2,$0,$L265 + j $L263 +$L265: + lw $3,64($fp) + addu $2,$3,1 + lw $4,60($fp) + addu $3,$4,1 + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,96($fp) + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,16($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,96($fp) + addu $4,$4,$5 + addu $5,$4,16384 + l.d $f0,0($5) + s.d $f0,24($sp) + lw $4,64($fp) + move $5,$4 + sll $4,$5,3 + lw $5,96($fp) + addu $4,$4,$5 + li $5,0x00008000 # 32768 + addu $4,$4,$5 + l.d $f0,0($4) + s.d $f0,32($sp) + lw $4,68($fp) + la $5,$LC86 + move $6,$2 + move $7,$3 + jal fprintf +$L264: + lw $3,64($fp) + addu $2,$3,1 + move $3,$2 + sw $3,64($fp) + j $L262 +$L263: +$L260: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L258 +$L259: + lw $4,68($fp) + jal fclose +$L248: + move $sp,$fp # sp not trusted here + lw $31,76($sp) + lw $fp,72($sp) + addu $sp,$sp,80 + j $31 + .end Storer + + .loc 1 972 + .ent Verify +Verify: + .frame $fp,72,$31 # vars= 48, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,72 + sw $31,68($sp) + sw $fp,64($sp) + move $fp,$sp + sw $4,72($fp) + sw $5,76($fp) + sw $6,80($fp) + sw $7,84($fp) + dsz 16($fp) + sw $0,56($fp) +$L267: + lw $2,56($fp) + slt $3,$2,3 + bne $3,$0,$L270 + j $L268 +$L270: + sw $0,48($fp) +$L271: + lw $2,48($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L274 + j $L272 +$L274: + lw $3,48($fp) + lw $2,48($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,56($fp) + lw $3,48($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,80($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) + sw $0,52($fp) +$L275: + lw $2,52($fp) + lw $3,48($fp) + slt $2,$2,$3 + bne $2,$0,$L278 + j $L276 +$L278: + lw $3,48($fp) + lw $2,52($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,52($fp) + lw $3,48($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,76($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($3) + s.d $f0,0($2) +$L277: + lw $3,52($fp) + addu $2,$3,1 + move $3,$2 + sw $3,52($fp) + j $L275 +$L276: +$L273: + lw $3,48($fp) + addu $2,$3,1 + move $3,$2 + sw $3,48($fp) + j $L271 +$L272: + mtc1 $0,$f0 + mtc1 $0,$f1 + s.d $f0,40($fp) + s.d $f0,32($fp) + sw $0,52($fp) +$L279: + lw $2,52($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L282 + j $L280 +$L282: + lw $3,56($fp) + lw $2,52($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,84($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f0,0($2) + s.d $f0,24($fp) + sw $0,48($fp) +$L283: + lw $2,48($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L286 + j $L284 +$L286: + lw $3,52($fp) + lw $2,48($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + lw $4,56($fp) + lw $3,48($fp) + move $5,$3 + sll $3,$5,3 + sll $5,$4,14 + lw $6,88($fp) + addu $4,$5,$6 + addu $3,$3,$4 + l.d $f0,0($2) + l.d $f2,0($3) + mul.d $f0,$f0,$f2 + l.d $f2,24($fp) + sub.d $f0,$f2,$f0 + s.d $f0,24($fp) + lw $3,52($fp) + lw $2,48($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,32($fp) + c.lt.d $f0,$f2 + bc1f $L287 + l.d $f0,32($fp) + j $L288 +$L287: + lw $3,52($fp) + lw $2,48($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,76($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 +$L288: + s.d $f0,32($fp) +$L285: + lw $3,48($fp) + addu $2,$3,1 + move $3,$2 + sw $3,48($fp) + j $L283 +$L284: + lw $3,56($fp) + lw $2,52($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,88($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 + l.d $f2,40($fp) + c.lt.d $f0,$f2 + bc1f $L289 + l.d $f0,40($fp) + j $L290 +$L289: + lw $3,56($fp) + lw $2,52($fp) + move $4,$2 + sll $2,$4,3 + sll $4,$3,14 + lw $5,88($fp) + addu $3,$4,$5 + addu $2,$2,$3 + l.d $f2,0($2) + abs.d $f0,$f2 +$L290: + s.d $f0,40($fp) + l.d $f2,24($fp) + abs.d $f0,$f2 + l.d $f2,16($fp) + add.d $f0,$f2,$f0 + s.d $f0,16($fp) +$L281: + lw $3,52($fp) + addu $2,$3,1 + move $3,$2 + sw $3,52($fp) + j $L279 +$L280: +$L269: + lw $3,56($fp) + addu $2,$3,1 + move $3,$2 + sw $3,56($fp) + j $L267 +$L268: + l.d $f0,32($fp) + l.d $f2,40($fp) + mul.d $f0,$f0,$f2 + l.d $f2,16($fp) + div.d $f0,$f2,$f0 + s.d $f0,16($fp) + l.d $f0,16($fp) + l.d $f2,$LC87 + c.lt.d $f2,$f0 + bc1f $L291 + la $4,$LC88 + dlw $6,16($fp) + jal printf + move $2,$0 + j $L266 +$L291: + li $2,0x00000001 # 1 + j $L266 +$L266: + move $sp,$fp # sp not trusted here + lw $31,68($sp) + lw $fp,64($sp) + addu $sp,$sp,72 + j $31 + .end Verify + + .loc 1 1120 + .ent Ddot +Ddot: + .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,8 + sw $fp,0($sp) + move $fp,$sp + move $2,$6 + move $6,$7 + lw $3,24($fp) + mtc1 $0,$f2 + mtc1 $0,$f3 +$L293: + subu $4,$4,1 + li $7,-1 # 0xffffffff + bne $4,$7,$L295 + j $L294 +$L295: + l.d $f0,0($5) + l.d $f4,0($6) + mul.d $f0,$f0,$f4 + add.d $f2,$f2,$f0 + move $7,$2 + sll $8,$7,3 + addu $5,$5,$8 + move $7,$3 + sll $8,$7,3 + addu $6,$6,$8 + j $L293 +$L294: + mov.d $f0,$f2 + j $L292 +$L292: + move $sp,$fp # sp not trusted here + lw $fp,0($sp) + addu $sp,$sp,8 + j $31 + .end Ddot diff --git a/benchmarks/build/whet.s b/benchmarks/build/whet.s new file mode 100644 index 0000000000000000000000000000000000000000..110b51fdd0bbad58ea043e33884039d88a7ae6b2 --- /dev/null +++ b/benchmarks/build/whet.s @@ -0,0 +1,1058 @@ + .file 1 "whet.c" + + # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C + + # Cc1 defaults: + # -mgas -mgpOPT + + # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1): + # -quiet -dumpbase -O0 -o + +gcc2_compiled.: +__gnu_compiled_c: + .sdata + .align 3 +$LC0: + .word 0x00000000 # 1000000 + .word 0x412e8480 + .text + .align 2 + .globl second + .rdata + .align 2 +$LC1: + .ascii "\n" + .ascii " %7.1ld%7.1ld%7.1ld%12.4e%12.4e%12.4e%12.4e%8.2f\000" + .text + .align 2 + .globl POUT + .align 2 + .globl PA + .align 2 + .globl P0 + .align 2 + .globl P3 + .rdata + .align 2 +$LC2: + .ascii "Start timing.\000" + .align 2 +$LC13: + .ascii "\n" + .ascii " %g whetstones per second\n\000" + .sdata + .align 2 +$LC3: + .word 0x3f001062 # 0.50024998188 (float) + .align 2 +$LC4: + .word 0x3efffcb9 # 0.499974995852 (float) + .align 2 +$LC5: + .word 0x40000000 # 2 (float) + .align 2 +$LC6: + .word 0x3f800000 # 1 (float) + .align 2 +$LC7: + .word 0xbf800000 # -1 (float) + .align 2 +$LC8: + .word 0x3f000000 # 0.5 (float) + .align 3 +$LC9: + .word 0x00000000 # 1 + .word 0x3ff00000 + .align 2 +$LC10: + .word 0x40400000 # 3 (float) + .align 2 +$LC11: + .word 0x3f400000 # 0.75 (float) + .align 3 +$LC12: + .word 0x00000000 # 100000000 + .word 0x4197d784 + .text + .align 2 + .globl main + + .comm T,4 + + .comm T1,4 + + .comm T2,4 + + .comm E1,16 + + .comm J,4 + + .comm K,4 + + .comm L,4 + + .text + + .loc 1 20 + .ent second +second: + .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,24 + sw $31,20($sp) + sw $fp,16($sp) + move $fp,$sp + jal clock + mtc1 $2,$f0 + #nop + cvt.s.w $f0,$f0 + cvt.d.s $f2,$f0 + l.d $f4,$LC0 + div.d $f0,$f2,$f4 + cvt.s.d $f2,$f0 + mov.s $f0,$f2 + j $L1 +$L1: + move $sp,$fp # sp not trusted here + lw $31,20($sp) + lw $fp,16($sp) + addu $sp,$sp,24 + j $31 + .end second + + .loc 1 30 + .ent POUT +POUT: + .frame $fp,64,$31 # vars= 0, regs= 2/0, args= 56, extra= 0 + .mask 0xc0000000,-4 + .fmask 0x00000000,0 + subu $sp,$sp,64 + sw $31,60($sp) + sw $fp,56($sp) + move $fp,$sp + sw $4,64($fp) + sw $5,68($fp) + sw $6,72($fp) + sw $7,76($fp) + jal second + mov.s $f2,$f0 + cvt.d.s $f0,$f2 + l.s $f2,76($fp) + cvt.d.s $f4,$f2 + s.d $f4,16($sp) + l.s $f2,80($fp) + cvt.d.s $f4,$f2 + s.d $f4,24($sp) + l.s $f2,84($fp) + cvt.d.s $f4,$f2 + s.d $f4,32($sp) + l.s $f2,88($fp) + cvt.d.s $f4,$f2 + s.d $f4,40($sp) + s.d $f0,48($sp) + la $4,$LC1 + lw $5,64($fp) + lw $6,68($fp) + lw $7,72($fp) + jal printf +$L2: + move $sp,$fp # sp not trusted here + lw $31,60($sp) + lw $fp,56($sp) + addu $sp,$sp,64 + j $31 + .end POUT + + .loc 1 36 + .ent PA +PA: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + sw $0,0($fp) +$L4: + lw $2,16($fp) + lw $3,16($fp) + lw $5,16($fp) + addu $4,$5,4 + l.s $f0,0($3) + l.s $f2,0($4) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,8 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,12 + l.s $f2,0($3) + sub.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,0($2) + lw $3,16($fp) + addu $2,$3,4 + lw $3,16($fp) + lw $5,16($fp) + addu $4,$5,4 + l.s $f0,0($3) + l.s $f2,0($4) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,8 + l.s $f2,0($3) + sub.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,12 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,0($2) + lw $3,16($fp) + addu $2,$3,8 + lw $3,16($fp) + lw $5,16($fp) + addu $4,$5,4 + l.s $f0,0($3) + l.s $f2,0($4) + sub.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,8 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,12 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,0($2) + lw $3,16($fp) + addu $2,$3,12 + lw $3,16($fp) + l.s $f2,0($3) + neg.s $f0,$f2 + lw $4,16($fp) + addu $3,$4,4 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,8 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + lw $4,16($fp) + addu $3,$4,12 + l.s $f2,0($3) + add.s $f0,$f0,$f2 + l.s $f2,T2 + div.s $f0,$f0,$f2 + s.s $f0,0($2) + lw $2,0($fp) + addu $3,$2,1 + sw $3,0($fp) +$L6: + lw $2,0($fp) + slt $3,$2,6 + bne $3,$0,$L7 + j $L5 +$L7: + j $L4 +$L5: +$L3: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end PA + + .loc 1 51 + .ent P0 +P0: + .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,8 + sw $fp,0($sp) + move $fp,$sp + lw $2,J + move $3,$2 + sll $2,$3,2 + la $3,E1-4 + addu $2,$2,$3 + lw $3,K + move $4,$3 + sll $3,$4,2 + la $4,E1-4 + addu $3,$3,$4 + l.s $f0,0($3) + s.s $f0,0($2) + lw $2,K + move $3,$2 + sll $2,$3,2 + la $3,E1-4 + addu $2,$2,$3 + lw $3,L + move $4,$3 + sll $3,$4,2 + la $4,E1-4 + addu $3,$3,$4 + l.s $f0,0($3) + s.s $f0,0($2) + lw $2,L + move $3,$2 + sll $2,$3,2 + la $3,E1-4 + addu $2,$2,$3 + lw $3,J + move $4,$3 + sll $3,$4,2 + la $4,E1-4 + addu $3,$3,$4 + l.s $f0,0($3) + s.s $f0,0($2) +$L8: + move $sp,$fp # sp not trusted here + lw $fp,0($sp) + addu $sp,$sp,8 + j $31 + .end P0 + + .loc 1 58 + .ent P3 +P3: + .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + subu $sp,$sp,16 + sw $fp,8($sp) + move $fp,$sp + sw $4,16($fp) + sw $5,20($fp) + sw $6,24($fp) + lw $2,16($fp) + l.s $f0,0($2) + s.s $f0,0($fp) + lw $2,20($fp) + l.s $f0,0($2) + s.s $f0,4($fp) + l.s $f0,0($fp) + l.s $f2,4($fp) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f2,$f0 + s.s $f0,0($fp) + l.s $f0,0($fp) + l.s $f2,4($fp) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f2,$f0 + s.s $f0,4($fp) + lw $2,24($fp) + l.s $f0,0($fp) + l.s $f2,4($fp) + add.s $f0,$f0,$f2 + l.s $f2,T2 + div.s $f0,$f0,$f2 + s.s $f0,0($2) +$L9: + move $sp,$fp # sp not trusted here + lw $fp,8($sp) + addu $sp,$sp,16 + j $31 + .end P3 + + .loc 1 85 + .ent main +main: + .frame $fp,176,$31 # vars= 88, regs= 2/6, args= 32, extra= 0 + .mask 0xc0000000,-52 + .fmask 0xfff00000,-4 + subu $sp,$sp,176 + sw $31,124($sp) + sw $fp,120($sp) + s.d $f30,168($sp) + s.d $f28,160($sp) + s.d $f26,152($sp) + s.d $f24,144($sp) + s.d $f22,136($sp) + s.d $f20,128($sp) + move $fp,$sp + jal __main + la $4,$LC2 + jal printf + li $2,0x0000000a # 10 + sw $2,60($fp) + l.s $f0,$LC3 + s.s $f0,T1 + l.s $f0,$LC4 + s.s $f0,T + l.s $f0,$LC5 + s.s $f0,T2 + lw $2,60($fp) + sw $2,64($fp) + sw $0,68($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $2,$3,2 + sw $2,72($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,3 + subu $3,$3,$2 + sll $2,$3,1 + sw $2,76($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $4,$3,2 + subu $4,$4,$2 + sll $3,$4,3 + subu $3,$3,$2 + sll $2,$3,2 + sw $2,80($fp) + sw $0,84($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,3 + subu $3,$3,$2 + sll $2,$3,4 + subu $2,$2,$3 + sll $3,$2,1 + sw $3,88($fp) + lw $2,60($fp) + move $3,$2 + sll $2,$3,5 + sw $2,92($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,3 + subu $3,$3,$2 + sll $4,$3,5 + addu $4,$4,$2 + sll $3,$4,2 + subu $2,$3,$2 + sw $2,96($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,7 + addu $3,$3,$2 + sll $2,$3,2 + sw $2,100($fp) + sw $0,104($fp) + lw $2,60($fp) + move $4,$2 + sll $3,$4,1 + addu $3,$3,$2 + sll $2,$3,5 + subu $3,$2,$3 + sw $3,108($fp) + sw $0,112($fp) + l.s $f0,$LC6 + s.s $f0,32($fp) + l.s $f0,$LC7 + s.s $f0,36($fp) + l.s $f0,$LC7 + s.s $f0,40($fp) + l.s $f0,$LC7 + s.s $f0,44($fp) + sw $0,60($fp) +$L11: + lw $2,60($fp) + lw $3,68($fp) + slt $2,$2,$3 + bne $2,$0,$L14 + j $L12 +$L14: + l.s $f0,32($fp) + l.s $f2,36($fp) + add.s $f0,$f0,$f2 + l.s $f2,40($fp) + add.s $f0,$f0,$f2 + l.s $f2,44($fp) + sub.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,32($fp) + l.s $f0,32($fp) + l.s $f2,36($fp) + add.s $f0,$f0,$f2 + l.s $f2,40($fp) + sub.s $f0,$f0,$f2 + l.s $f2,44($fp) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,36($fp) + l.s $f2,32($fp) + neg.s $f0,$f2 + l.s $f2,36($fp) + add.s $f0,$f0,$f2 + l.s $f2,40($fp) + add.s $f0,$f0,$f2 + l.s $f2,44($fp) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,44($fp) + l.s $f0,32($fp) + l.s $f2,36($fp) + sub.s $f0,$f0,$f2 + l.s $f2,40($fp) + add.s $f0,$f0,$f2 + l.s $f2,44($fp) + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,40($fp) +$L13: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L11 +$L12: + l.s $f0,36($fp) + s.s $f0,16($sp) + l.s $f0,40($fp) + s.s $f0,20($sp) + l.s $f0,44($fp) + s.s $f0,24($sp) + lw $4,68($fp) + lw $5,68($fp) + lw $6,68($fp) + lw $7,32($fp) + jal POUT + l.s $f0,$LC6 + s.s $f0,E1 + l.s $f0,$LC7 + s.s $f0,E1+4 + l.s $f0,$LC7 + s.s $f0,E1+8 + l.s $f0,$LC7 + s.s $f0,E1+12 + sw $0,60($fp) +$L15: + lw $2,60($fp) + lw $3,72($fp) + slt $2,$2,$3 + bne $2,$0,$L18 + j $L16 +$L18: + l.s $f0,E1 + l.s $f2,E1+4 + add.s $f0,$f0,$f2 + l.s $f2,E1+8 + add.s $f0,$f0,$f2 + l.s $f2,E1+12 + sub.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,E1 + l.s $f0,E1 + l.s $f2,E1+4 + add.s $f0,$f0,$f2 + l.s $f2,E1+8 + sub.s $f0,$f0,$f2 + l.s $f2,E1+12 + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,E1+4 + l.s $f0,E1 + l.s $f2,E1+4 + sub.s $f0,$f0,$f2 + l.s $f2,E1+8 + add.s $f0,$f0,$f2 + l.s $f2,E1+12 + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,E1+8 + l.s $f2,E1 + neg.s $f0,$f2 + l.s $f2,E1+4 + add.s $f0,$f0,$f2 + l.s $f2,E1+8 + add.s $f0,$f0,$f2 + l.s $f2,E1+12 + add.s $f0,$f0,$f2 + l.s $f2,T + mul.s $f0,$f0,$f2 + s.s $f0,E1+12 +$L17: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L15 +$L16: + l.s $f0,E1+4 + s.s $f0,16($sp) + l.s $f0,E1+8 + s.s $f0,20($sp) + l.s $f0,E1+12 + s.s $f0,24($sp) + lw $4,72($fp) + lw $5,76($fp) + lw $6,72($fp) + lw $7,E1 + jal POUT + sw $0,60($fp) +$L19: + lw $2,60($fp) + lw $3,76($fp) + slt $2,$2,$3 + bne $2,$0,$L22 + j $L20 +$L22: + la $4,E1 + jal PA +$L21: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L19 +$L20: + l.s $f0,E1+4 + s.s $f0,16($sp) + l.s $f0,E1+8 + s.s $f0,20($sp) + l.s $f0,E1+12 + s.s $f0,24($sp) + lw $4,76($fp) + lw $5,72($fp) + lw $6,72($fp) + lw $7,E1 + jal POUT + li $2,0x00000001 # 1 + sw $2,J + sw $0,60($fp) +$L23: + lw $2,60($fp) + lw $3,80($fp) + slt $2,$2,$3 + bne $2,$0,$L26 + j $L24 +$L26: + lw $2,J + li $3,0x00000001 # 1 + bne $2,$3,$L27 + li $2,0x00000002 # 2 + sw $2,J + j $L28 +$L27: + li $2,0x00000003 # 3 + sw $2,J +$L28: + lw $2,J + slt $3,$2,2 + beq $3,$0,$L29 + sw $0,J + j $L30 +$L29: + li $2,0x00000001 # 1 + sw $2,J +$L30: + lw $2,J + bgtz $2,$L31 + li $2,0x00000001 # 1 + sw $2,J + j $L32 +$L31: + sw $0,J +$L32: +$L25: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L23 +$L24: + l.s $f0,36($fp) + s.s $f0,16($sp) + l.s $f0,40($fp) + s.s $f0,20($sp) + l.s $f0,44($fp) + s.s $f0,24($sp) + lw $4,80($fp) + lw $5,J + lw $6,J + lw $7,32($fp) + jal POUT + li $2,0x00000001 # 1 + sw $2,J + li $2,0x00000002 # 2 + sw $2,K + li $2,0x00000003 # 3 + sw $2,L + sw $0,60($fp) +$L33: + lw $2,60($fp) + lw $3,88($fp) + slt $2,$2,$3 + bne $2,$0,$L36 + j $L34 +$L36: + lw $2,K + lw $3,J + subu $2,$2,$3 + lw $3,J + mult $2,$3 + mflo $2 + lw $3,L + lw $4,K + subu $3,$3,$4 + mult $2,$3 + mflo $2 + sw $2,J + lw $2,L + lw $3,J + subu $2,$2,$3 + lw $3,L + subu $2,$3,$2 + lw $3,K + mult $3,$2 + mflo $2 + sw $2,K + lw $2,L + lw $3,K + subu $2,$2,$3 + lw $3,K + lw $4,J + addu $3,$3,$4 + mult $2,$3 + mflo $2 + sw $2,L + lw $2,L + move $3,$2 + sll $2,$3,2 + la $3,E1-8 + addu $2,$2,$3 + lw $3,J + lw $4,K + addu $3,$3,$4 + lw $4,L + addu $3,$3,$4 + mtc1 $3,$f0 + #nop + cvt.s.w $f0,$f0 + s.s $f0,0($2) + lw $2,K + move $3,$2 + sll $2,$3,2 + la $3,E1-8 + addu $2,$2,$3 + lw $3,J + lw $4,K + mult $3,$4 + mflo $3 + lw $4,L + mult $3,$4 + mflo $3 + mtc1 $3,$f0 + #nop + cvt.s.w $f0,$f0 + s.s $f0,0($2) +$L35: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L33 +$L34: + l.s $f0,E1+4 + s.s $f0,16($sp) + l.s $f0,E1+8 + s.s $f0,20($sp) + l.s $f0,E1+12 + s.s $f0,24($sp) + lw $4,88($fp) + lw $5,J + lw $6,K + lw $7,E1 + jal POUT + l.s $f0,$LC8 + s.s $f0,48($fp) + l.s $f0,$LC8 + s.s $f0,52($fp) + l.s $f20,48($fp) + l.s $f22,52($fp) + l.s $f24,T2 + l.s $f26,T + sw $0,60($fp) +$L37: + lw $2,60($fp) + lw $3,92($fp) + slt $2,$2,$3 + bne $2,$0,$L40 + j $L38 +$L40: + cvt.d.s $f28,$f24 + cvt.d.s $f0,$f20 + mov.d $f12,$f0 + jal sin + mul.d $f28,$f28,$f0 + cvt.d.s $f0,$f20 + mov.d $f12,$f0 + jal cos + mul.d $f28,$f28,$f0 + add.s $f0,$f20,$f22 + cvt.d.s $f2,$f0 + mov.d $f12,$f2 + jal cos + mov.d $f30,$f0 + sub.s $f0,$f20,$f22 + cvt.d.s $f2,$f0 + mov.d $f12,$f2 + jal cos + add.d $f2,$f30,$f0 + l.d $f4,$LC9 + sub.d $f0,$f2,$f4 + div.d $f2,$f28,$f0 + mov.d $f12,$f2 + jal atan + cvt.d.s $f2,$f26 + mul.d $f0,$f2,$f0 + cvt.s.d $f20,$f0 + cvt.d.s $f28,$f24 + cvt.d.s $f0,$f22 + mov.d $f12,$f0 + jal sin + mul.d $f28,$f28,$f0 + cvt.d.s $f0,$f22 + mov.d $f12,$f0 + jal cos + mul.d $f28,$f28,$f0 + add.s $f0,$f20,$f22 + cvt.d.s $f2,$f0 + mov.d $f12,$f2 + jal cos + mov.d $f30,$f0 + sub.s $f0,$f20,$f22 + cvt.d.s $f2,$f0 + mov.d $f12,$f2 + jal cos + add.d $f2,$f30,$f0 + l.d $f4,$LC9 + sub.d $f0,$f2,$f4 + div.d $f2,$f28,$f0 + mov.d $f12,$f2 + jal atan + cvt.d.s $f2,$f26 + mul.d $f0,$f2,$f0 + cvt.s.d $f22,$f0 +$L39: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L37 +$L38: + s.s $f20,48($fp) + s.s $f22,52($fp) + l.s $f0,48($fp) + s.s $f0,16($sp) + l.s $f0,52($fp) + s.s $f0,20($sp) + l.s $f0,52($fp) + s.s $f0,24($sp) + lw $4,92($fp) + lw $5,J + lw $6,K + lw $7,48($fp) + jal POUT + l.s $f0,$LC6 + s.s $f0,48($fp) + l.s $f0,$LC6 + s.s $f0,52($fp) + l.s $f0,$LC6 + s.s $f0,56($fp) + sw $0,60($fp) +$L41: + lw $2,60($fp) + lw $3,96($fp) + slt $2,$2,$3 + bne $2,$0,$L44 + j $L42 +$L44: + addu $2,$fp,48 + addu $3,$fp,52 + addu $6,$fp,56 + move $4,$2 + move $5,$3 + jal P3 +$L43: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L41 +$L42: + l.s $f0,52($fp) + s.s $f0,16($sp) + l.s $f0,56($fp) + s.s $f0,20($sp) + l.s $f0,56($fp) + s.s $f0,24($sp) + lw $4,96($fp) + lw $5,J + lw $6,K + lw $7,48($fp) + jal POUT + li $2,0x00000001 # 1 + sw $2,J + li $2,0x00000002 # 2 + sw $2,K + li $2,0x00000003 # 3 + sw $2,L + l.s $f0,$LC6 + s.s $f0,E1 + l.s $f0,$LC5 + s.s $f0,E1+4 + l.s $f0,$LC10 + s.s $f0,E1+8 + sw $0,60($fp) +$L45: + lw $2,60($fp) + lw $3,100($fp) + slt $2,$2,$3 + bne $2,$0,$L48 + j $L46 +$L48: + jal P0 +$L47: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L45 +$L46: + l.s $f0,E1+4 + s.s $f0,16($sp) + l.s $f0,E1+8 + s.s $f0,20($sp) + l.s $f0,E1+12 + s.s $f0,24($sp) + lw $4,100($fp) + lw $5,J + lw $6,K + lw $7,E1 + jal POUT + li $2,0x00000002 # 2 + sw $2,J + li $2,0x00000003 # 3 + sw $2,K + sw $0,60($fp) +$L49: + lw $2,60($fp) + lw $3,104($fp) + slt $2,$2,$3 + bne $2,$0,$L52 + j $L50 +$L52: + lw $2,J + lw $3,K + addu $2,$2,$3 + sw $2,J + lw $2,K + lw $3,J + addu $2,$2,$3 + sw $2,K + lw $2,J + lw $3,K + subu $2,$2,$3 + sw $2,J + lw $2,J + lw $3,J + addu $2,$2,$3 + lw $3,K + subu $2,$3,$2 + sw $2,K +$L51: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L49 +$L50: + l.s $f0,36($fp) + s.s $f0,16($sp) + l.s $f0,40($fp) + s.s $f0,20($sp) + l.s $f0,44($fp) + s.s $f0,24($sp) + lw $4,104($fp) + lw $5,J + lw $6,K + lw $7,32($fp) + jal POUT + l.s $f0,$LC11 + s.s $f0,48($fp) + l.s $f20,48($fp) + l.s $f22,T1 + sw $0,60($fp) +$L53: + lw $2,60($fp) + lw $3,108($fp) + slt $2,$2,$3 + bne $2,$0,$L56 + j $L54 +$L56: + cvt.d.s $f0,$f20 + mov.d $f12,$f0 + jal log + cvt.d.s $f2,$f22 + div.d $f0,$f0,$f2 + mov.d $f12,$f0 + jal exp + mov.d $f12,$f0 + jal sqrt + cvt.s.d $f20,$f0 +$L55: + lw $3,60($fp) + addu $2,$3,1 + move $3,$2 + sw $3,60($fp) + j $L53 +$L54: + s.s $f20,48($fp) + l.s $f0,48($fp) + s.s $f0,16($sp) + l.s $f0,48($fp) + s.s $f0,20($sp) + l.s $f0,48($fp) + s.s $f0,24($sp) + lw $4,108($fp) + lw $5,J + lw $6,K + lw $7,48($fp) + jal POUT + jal second + cvt.d.s $f2,$f0 + l.d $f4,$LC12 + div.d $f0,$f4,$f2 + la $4,$LC13 + dmfc1 $6,$f0 + jal printf +$L10: + move $sp,$fp # sp not trusted here + lw $31,124($sp) + lw $fp,120($sp) + l.d $f30,168($sp) + l.d $f28,160($sp) + l.d $f26,152($sp) + l.d $f24,144($sp) + l.d $f22,136($sp) + l.d $f20,128($sp) + addu $sp,$sp,176 + j $31 + .end main