2382 lines
41 KiB
ArmAsm
2382 lines
41 KiB
ArmAsm
|
.file "35_math.sy"
|
||
|
.option pic
|
||
|
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
|
||
|
.attribute unaligned_access, 0
|
||
|
.attribute stack_align, 16
|
||
|
.text
|
||
|
.align 1
|
||
|
.globl my_fabs
|
||
|
.type my_fabs, @function
|
||
|
my_fabs:
|
||
|
fmv.w.x fa5,zero
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L1
|
||
|
fneg.s fa0,fa0
|
||
|
.L1:
|
||
|
ret
|
||
|
.size my_fabs, .-my_fabs
|
||
|
.align 1
|
||
|
.globl my_pow
|
||
|
.type my_pow, @function
|
||
|
my_pow:
|
||
|
fmv.s fa5,fa0
|
||
|
flw fa0,.LC0,a5
|
||
|
blt a0,zero,.L6
|
||
|
beq a0,zero,.L21
|
||
|
.L7:
|
||
|
andi a5,a0,1
|
||
|
srai a0,a0,1
|
||
|
beq a5,zero,.L11
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
.L11:
|
||
|
fmul.s fa5,fa5,fa5
|
||
|
bne a0,zero,.L7
|
||
|
ret
|
||
|
.L6:
|
||
|
fmv.s fa4,fa0
|
||
|
negw a0,a0
|
||
|
.L10:
|
||
|
andi a5,a0,1
|
||
|
srai a0,a0,1
|
||
|
beq a5,zero,.L9
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
.L9:
|
||
|
fmul.s fa5,fa5,fa5
|
||
|
bne a0,zero,.L10
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
ret
|
||
|
.L21:
|
||
|
ret
|
||
|
.size my_pow, .-my_pow
|
||
|
.align 1
|
||
|
.globl my_sqrt
|
||
|
.type my_sqrt, @function
|
||
|
my_sqrt:
|
||
|
flw fa5,.LC1,a5
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L38
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fadd.s fa4,fa0,fa0
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa1,.LC5,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fdiv.s fa4,fa4,fa2
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
ret
|
||
|
.L38:
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L39
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fadd.s fa4,fa0,fa0
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa1,.LC5,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fdiv.s fa4,fa4,fa2
|
||
|
flw fa2,.LC2,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
ret
|
||
|
.L39:
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
addi sp,sp,-16
|
||
|
sd ra,8(sp)
|
||
|
call my_sqrt
|
||
|
flw fa2,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
ld ra,8(sp)
|
||
|
addi sp,sp,16
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
jr ra
|
||
|
.size my_sqrt, .-my_sqrt
|
||
|
.align 1
|
||
|
.globl F1
|
||
|
.type F1, @function
|
||
|
F1:
|
||
|
flw fa5,.LC0,a5
|
||
|
fdiv.s fa0,fa5,fa0
|
||
|
ret
|
||
|
.size F1, .-F1
|
||
|
.align 1
|
||
|
.globl F2
|
||
|
.type F2, @function
|
||
|
F2:
|
||
|
addi sp,sp,-32
|
||
|
fsd fs0,8(sp)
|
||
|
flw fs0,.LC0,a5
|
||
|
fnmsub.s fa0,fa0,fa0,fs0
|
||
|
flw fa5,.LC1,a5
|
||
|
sd ra,24(sp)
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L58
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa4,fa0,fa0
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa1,.LC5,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fdiv.s fa4,fa4,fa2
|
||
|
ld ra,24(sp)
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
fdiv.s fa0,fs0,fa0
|
||
|
fld fs0,8(sp)
|
||
|
addi sp,sp,32
|
||
|
jr ra
|
||
|
.L58:
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L59
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fadd.s fa4,fa0,fa0
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa1,.LC5,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fdiv.s fa4,fa4,fa2
|
||
|
flw fa2,.LC2,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
.L61:
|
||
|
ld ra,24(sp)
|
||
|
fdiv.s fa0,fs0,fa0
|
||
|
fld fs0,8(sp)
|
||
|
addi sp,sp,32
|
||
|
jr ra
|
||
|
.L59:
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
fgt.s a5,fa0,fa5
|
||
|
bne a5,zero,.L60
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fadd.s fa4,fa0,fa0
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa1,.LC5,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fdiv.s fa4,fa4,fa2
|
||
|
flw fa2,.LC2,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa3,fa0,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fa5
|
||
|
fdiv.s fa4,fa0,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
fdiv.s fa0,fa0,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
.L62:
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
j .L61
|
||
|
.L60:
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
call my_sqrt
|
||
|
flw fa2,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
j .L62
|
||
|
.size F2, .-F2
|
||
|
.align 1
|
||
|
.globl simpson
|
||
|
.type simpson, @function
|
||
|
simpson:
|
||
|
addi sp,sp,-96
|
||
|
fsd fs2,56(sp)
|
||
|
fsub.s fs2,fa1,fa0
|
||
|
fsd fs4,40(sp)
|
||
|
flw fs4,.LC6,a5
|
||
|
fsd fs1,64(sp)
|
||
|
sd ra,88(sp)
|
||
|
fsd fs0,72(sp)
|
||
|
fsd fs3,48(sp)
|
||
|
fsd fs5,32(sp)
|
||
|
fsd fs6,24(sp)
|
||
|
li a5,1
|
||
|
fmadd.s fs1,fs2,fs4,fa0
|
||
|
fmv.s fa5,fa0
|
||
|
beq a0,a5,.L83
|
||
|
li a5,2
|
||
|
fmv.w.x fa0,zero
|
||
|
beq a0,a5,.L84
|
||
|
.L63:
|
||
|
ld ra,88(sp)
|
||
|
fld fs0,72(sp)
|
||
|
fld fs1,64(sp)
|
||
|
fld fs2,56(sp)
|
||
|
fld fs3,48(sp)
|
||
|
fld fs4,40(sp)
|
||
|
fld fs5,32(sp)
|
||
|
fld fs6,24(sp)
|
||
|
addi sp,sp,96
|
||
|
jr ra
|
||
|
.L83:
|
||
|
flw fa4,.LC0,a5
|
||
|
fdiv.s fa5,fa4,fa0
|
||
|
flw fa2,.LC3,a5
|
||
|
flw fa3,.LC7,a5
|
||
|
fdiv.s fs1,fa4,fs1
|
||
|
fdiv.s fa0,fa4,fa1
|
||
|
fmadd.s fs1,fs1,fa2,fa5
|
||
|
fadd.s fa0,fa0,fs1
|
||
|
fmul.s fa0,fa0,fs2
|
||
|
fdiv.s fa0,fa0,fa3
|
||
|
j .L63
|
||
|
.L84:
|
||
|
flw fs3,.LC0,a5
|
||
|
fnmsub.s fa5,fa5,fa5,fs3
|
||
|
flw fs6,.LC1,a5
|
||
|
fgt.s a5,fa5,fs6
|
||
|
bne a5,zero,.L85
|
||
|
flw fs5,.LC3,a5
|
||
|
fadd.s fa4,fa5,fa5
|
||
|
fadd.s fa0,fa5,fs5
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa5,fa3
|
||
|
fld fa2,.LC5,a5
|
||
|
fdiv.s fa4,fa4,fa0
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa2
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fs0,fa5,fa4
|
||
|
fadd.s fs0,fs0,fa4
|
||
|
fmul.s fs0,fs0,fs4
|
||
|
.L68:
|
||
|
fnmsub.s fs1,fs1,fs1,fs3
|
||
|
fdiv.s fs0,fs3,fs0
|
||
|
fgt.s a5,fs1,fs6
|
||
|
bne a5,zero,.L86
|
||
|
fadd.s fa4,fs1,fs1
|
||
|
fadd.s fa0,fs1,fs5
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fs1,fa3
|
||
|
fld fa2,.LC5,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa2
|
||
|
fdiv.s fa4,fa4,fa0
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fs1,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fs1,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fs1,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fs1,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fs1,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fs1,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fs1,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa3,fs1,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa4,fs1,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs1,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
.L71:
|
||
|
fdiv.s fa5,fs3,fa5
|
||
|
fnmsub.s fa1,fa1,fa1,fs3
|
||
|
fgt.s a5,fa1,fs6
|
||
|
fmadd.s fs0,fa5,fs5,fs0
|
||
|
bne a5,zero,.L87
|
||
|
fadd.s fa5,fa1,fa1
|
||
|
fadd.s fs5,fa1,fs5
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fa1,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fdiv.s fa5,fa5,fs5
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fa1,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fa1,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fa1,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fa1,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fa1,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fa1,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fa1,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fa1,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fa1,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa0,fa1,fa5
|
||
|
fadd.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fs4
|
||
|
.L74:
|
||
|
fdiv.s fa0,fs3,fa0
|
||
|
flw fa5,.LC7,a5
|
||
|
fadd.s fa0,fa0,fs0
|
||
|
fmul.s fa0,fa0,fs2
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
j .L63
|
||
|
.L85:
|
||
|
fdiv.s fa0,fa5,fs6
|
||
|
fsw fa1,12(sp)
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fs0,fa0,fa5
|
||
|
flw fa1,12(sp)
|
||
|
flw fs5,.LC3,a5
|
||
|
j .L68
|
||
|
.L87:
|
||
|
fdiv.s fa0,fa1,fs6
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
j .L74
|
||
|
.L86:
|
||
|
fdiv.s fa0,fs1,fs6
|
||
|
fsw fa1,12(sp)
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa5,fa0,fa5
|
||
|
flw fa1,12(sp)
|
||
|
j .L71
|
||
|
.size simpson, .-simpson
|
||
|
.align 1
|
||
|
.globl asr5
|
||
|
.type asr5, @function
|
||
|
asr5:
|
||
|
addi sp,sp,-128
|
||
|
fsd fs5,64(sp)
|
||
|
fsub.s fs5,fa1,fa0
|
||
|
fsd fs4,72(sp)
|
||
|
flw fs4,.LC6,a5
|
||
|
fsd fs8,40(sp)
|
||
|
sd s0,112(sp)
|
||
|
fmadd.s fs5,fs5,fs4,fa0
|
||
|
fsd fs0,104(sp)
|
||
|
fsd fs2,88(sp)
|
||
|
fsd fs3,80(sp)
|
||
|
fsd fs6,56(sp)
|
||
|
fsub.s fs8,fs5,fa0
|
||
|
fsd fs7,48(sp)
|
||
|
sd ra,120(sp)
|
||
|
fsd fs1,96(sp)
|
||
|
fsd fs9,32(sp)
|
||
|
fsd fs10,24(sp)
|
||
|
fsd fs11,16(sp)
|
||
|
li a5,1
|
||
|
fmadd.s fs2,fs8,fs4,fa0
|
||
|
fmv.s fs3,fa0
|
||
|
fmv.s fs7,fa1
|
||
|
fmv.s fs6,fa2
|
||
|
fmv.s fs0,fa3
|
||
|
mv s0,a0
|
||
|
beq a0,a5,.L125
|
||
|
fmv.w.x ft0,zero
|
||
|
li a5,2
|
||
|
fmv.s fa3,ft0
|
||
|
fmv.s fs1,ft0
|
||
|
beq a0,a5,.L126
|
||
|
.L90:
|
||
|
fsub.s fa5,ft0,fs0
|
||
|
fmv.w.x fa4,zero
|
||
|
fgt.s a5,fa5,fa4
|
||
|
fmv.s ft1,fa5
|
||
|
bne a5,zero,.L106
|
||
|
fneg.s ft1,fa5
|
||
|
.L106:
|
||
|
flw fa4,.LC8,a5
|
||
|
fmul.s fa4,fs6,fa4
|
||
|
fge.s a5,fa4,ft1
|
||
|
beq a5,zero,.L123
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s ft0,ft0
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
fadd.d fa0,fa0,ft0
|
||
|
fcvt.s.d fa0,fa0
|
||
|
.L88:
|
||
|
ld ra,120(sp)
|
||
|
ld s0,112(sp)
|
||
|
fld fs0,104(sp)
|
||
|
fld fs1,96(sp)
|
||
|
fld fs2,88(sp)
|
||
|
fld fs3,80(sp)
|
||
|
fld fs4,72(sp)
|
||
|
fld fs5,64(sp)
|
||
|
fld fs6,56(sp)
|
||
|
fld fs7,48(sp)
|
||
|
fld fs8,40(sp)
|
||
|
fld fs9,32(sp)
|
||
|
fld fs10,24(sp)
|
||
|
fld fs11,16(sp)
|
||
|
addi sp,sp,128
|
||
|
jr ra
|
||
|
.L123:
|
||
|
fmul.s fs4,fs6,fs4
|
||
|
fmv.s fa1,fs5
|
||
|
fmv.s fa0,fs3
|
||
|
mv a0,s0
|
||
|
fmv.s fa2,fs4
|
||
|
call asr5
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa3,fs1
|
||
|
fmv.s fa2,fs4
|
||
|
fmv.s fa1,fs7
|
||
|
fmv.s fa0,fs5
|
||
|
fmv.s fs0,fa5
|
||
|
mv a0,s0
|
||
|
call asr5
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
j .L88
|
||
|
.L125:
|
||
|
fsub.s fa2,fa1,fs5
|
||
|
flw fa5,.LC0,a5
|
||
|
fdiv.s fa0,fa5,fs5
|
||
|
flw ft0,.LC3,a5
|
||
|
flw fa1,.LC7,a5
|
||
|
fmadd.s fa3,fa2,fs4,fs5
|
||
|
fdiv.s fa4,fa5,fs2
|
||
|
fdiv.s ft1,fa5,fs3
|
||
|
fdiv.s fa3,fa5,fa3
|
||
|
fmadd.s fa4,fa4,ft0,ft1
|
||
|
fadd.s fa4,fa4,fa0
|
||
|
fmul.s fa4,fa4,fs8
|
||
|
fdiv.s fs1,fa5,fs7
|
||
|
fmadd.s fa5,fa3,ft0,fa0
|
||
|
fadd.s fs1,fs1,fa5
|
||
|
fdiv.s fa3,fa4,fa1
|
||
|
fmul.s fs1,fs1,fa2
|
||
|
fdiv.s fs1,fs1,fa1
|
||
|
fadd.s ft0,fs1,fa3
|
||
|
j .L90
|
||
|
.L126:
|
||
|
flw fs1,.LC0,a5
|
||
|
fnmsub.s fs11,fa0,fa0,fs1
|
||
|
flw fs10,.LC1,a5
|
||
|
fgt.s a5,fs11,fs10
|
||
|
bne a5,zero,.L127
|
||
|
flw fs9,.LC3,a5
|
||
|
fadd.s fa5,fs11,fs11
|
||
|
fadd.s fa2,fs11,fs9
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fs11,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fdiv.s fa5,fa5,fa2
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fs11,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs11,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs11,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs11,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs11,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs11,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs11,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs11,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs11,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fs11,fs11,fa5
|
||
|
fadd.s fs11,fs11,fa5
|
||
|
fmul.s fs11,fs11,fs4
|
||
|
.L93:
|
||
|
fnmsub.s fs2,fs2,fs2,fs1
|
||
|
fdiv.s fs11,fs1,fs11
|
||
|
fgt.s a5,fs2,fs10
|
||
|
bne a5,zero,.L128
|
||
|
fadd.s fa5,fs2,fs2
|
||
|
fadd.s fa2,fs2,fs9
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fs2,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fdiv.s fa5,fa5,fa2
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fs2,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs2,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs2,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs2,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs2,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs2,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs2,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs2,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa4,fs2,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs4
|
||
|
fdiv.s fa5,fs2,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
.L96:
|
||
|
fdiv.s fa5,fs1,fa5
|
||
|
fnmsub.s fa0,fs5,fs5,fs1
|
||
|
fgt.s a5,fa0,fs10
|
||
|
fmadd.s fs2,fa5,fs9,fs11
|
||
|
bne a5,zero,.L129
|
||
|
fadd.s fa4,fa0,fs9
|
||
|
fadd.s fa3,fa0,fa0
|
||
|
flw fa2,.LC4,a5
|
||
|
fmul.s fa2,fa0,fa2
|
||
|
fld fa5,.LC5,a5
|
||
|
flw fs11,.LC7,a5
|
||
|
fdiv.s fa3,fa3,fa4
|
||
|
fsub.s fa4,fs7,fs5
|
||
|
fcvt.d.s fa2,fa2
|
||
|
fadd.d fa2,fa2,fa5
|
||
|
fmadd.s fa5,fa4,fs4,fs5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa2
|
||
|
fcvt.s.d fa3,fa3
|
||
|
fdiv.s fa2,fa0,fa3
|
||
|
fadd.s fa3,fa2,fa3
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa2,fa0,fa3
|
||
|
fadd.s fa2,fa2,fa3
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa3,fa0,fa2
|
||
|
fadd.s fa3,fa3,fa2
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa2,fa0,fa3
|
||
|
fadd.s fa2,fa2,fa3
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa3,fa0,fa2
|
||
|
fadd.s fa3,fa3,fa2
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa2,fa0,fa3
|
||
|
fadd.s fa2,fa2,fa3
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa3,fa0,fa2
|
||
|
fadd.s fa3,fa3,fa2
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa2,fa0,fa3
|
||
|
fadd.s fa2,fa2,fa3
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa3,fa0,fa2
|
||
|
fadd.s fa3,fa3,fa2
|
||
|
fmul.s fa3,fa3,fs4
|
||
|
fdiv.s fa0,fa0,fa3
|
||
|
fadd.s fa0,fa0,fa3
|
||
|
fmul.s fa0,fa0,fs4
|
||
|
fdiv.s fa3,fs1,fa0
|
||
|
fadd.s fa3,fa3,fs2
|
||
|
fmul.s fa3,fa3,fs8
|
||
|
fdiv.s fa3,fa3,fs11
|
||
|
.L99:
|
||
|
fnmsub.s fa5,fa5,fa5,fs1
|
||
|
fgt.s a5,fa5,fs10
|
||
|
fdiv.s fs8,fs1,fa0
|
||
|
bne a5,zero,.L130
|
||
|
fadd.s fa2,fa5,fa5
|
||
|
fadd.s ft0,fa5,fs9
|
||
|
flw fa1,.LC4,a5
|
||
|
fmul.s fa1,fa5,fa1
|
||
|
fld fa0,.LC5,a5
|
||
|
fcvt.d.s fa1,fa1
|
||
|
fadd.d fa1,fa1,fa0
|
||
|
fdiv.s fa2,fa2,ft0
|
||
|
fcvt.d.s fa2,fa2
|
||
|
fadd.d fa2,fa2,fa1
|
||
|
fcvt.s.d fa2,fa2
|
||
|
fdiv.s fa1,fa5,fa2
|
||
|
fadd.s fa2,fa1,fa2
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa1,fa5,fa2
|
||
|
fadd.s fa1,fa1,fa2
|
||
|
fmul.s fa1,fa1,fs4
|
||
|
fdiv.s fa2,fa5,fa1
|
||
|
fadd.s fa2,fa2,fa1
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa1,fa5,fa2
|
||
|
fadd.s fa1,fa1,fa2
|
||
|
fmul.s fa1,fa1,fs4
|
||
|
fdiv.s fa2,fa5,fa1
|
||
|
fadd.s fa2,fa2,fa1
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa1,fa5,fa2
|
||
|
fadd.s fa1,fa1,fa2
|
||
|
fmul.s fa1,fa1,fs4
|
||
|
fdiv.s fa2,fa5,fa1
|
||
|
fadd.s fa2,fa2,fa1
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa1,fa5,fa2
|
||
|
fadd.s fa1,fa1,fa2
|
||
|
fmul.s fa1,fa1,fs4
|
||
|
fdiv.s fa2,fa5,fa1
|
||
|
fadd.s fa2,fa2,fa1
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fs2,fa5,fa2
|
||
|
fadd.s fs2,fs2,fa2
|
||
|
fmul.s fs2,fs2,fs4
|
||
|
.L102:
|
||
|
fdiv.s fs2,fs1,fs2
|
||
|
fnmsub.s fa0,fs7,fs7,fs1
|
||
|
fgt.s a5,fa0,fs10
|
||
|
fmadd.s fs2,fs2,fs9,fs8
|
||
|
bne a5,zero,.L131
|
||
|
fadd.s fa5,fa0,fa0
|
||
|
fadd.s fs9,fa0,fs9
|
||
|
flw fa2,.LC4,a5
|
||
|
fmul.s fa2,fa0,fa2
|
||
|
fld fa1,.LC5,a5
|
||
|
fdiv.s fa5,fa5,fs9
|
||
|
fcvt.d.s fa2,fa2
|
||
|
fadd.d fa2,fa2,fa1
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa2
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa2,fa0,fa5
|
||
|
fadd.s fa5,fa2,fa5
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa2,fa0,fa5
|
||
|
fadd.s fa2,fa2,fa5
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa5,fa0,fa2
|
||
|
fadd.s fa5,fa5,fa2
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa2,fa0,fa5
|
||
|
fadd.s fa2,fa2,fa5
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa5,fa0,fa2
|
||
|
fadd.s fa5,fa5,fa2
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa2,fa0,fa5
|
||
|
fadd.s fa2,fa2,fa5
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa5,fa0,fa2
|
||
|
fadd.s fa5,fa5,fa2
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa2,fa0,fa5
|
||
|
fadd.s fa2,fa2,fa5
|
||
|
fmul.s fa2,fa2,fs4
|
||
|
fdiv.s fa5,fa0,fa2
|
||
|
fadd.s fa5,fa5,fa2
|
||
|
fmul.s fa5,fa5,fs4
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
fadd.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fs4
|
||
|
.L105:
|
||
|
fdiv.s fs1,fs1,fa0
|
||
|
fadd.s fs1,fs1,fs2
|
||
|
fmul.s fs1,fs1,fa4
|
||
|
fdiv.s fs1,fs1,fs11
|
||
|
fadd.s ft0,fs1,fa3
|
||
|
j .L90
|
||
|
.L127:
|
||
|
fdiv.s fa0,fs11,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fs11,fa0,fa5
|
||
|
flw fs9,.LC3,a5
|
||
|
j .L93
|
||
|
.L131:
|
||
|
fdiv.s fa0,fa0,fs10
|
||
|
fsw fa4,12(sp)
|
||
|
fsw fa3,8(sp)
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
flw fa3,8(sp)
|
||
|
flw fa4,12(sp)
|
||
|
j .L105
|
||
|
.L130:
|
||
|
fdiv.s fa0,fa5,fs10
|
||
|
fsw fa4,12(sp)
|
||
|
fsw fa3,8(sp)
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fs2,fa0,fa5
|
||
|
flw fa3,8(sp)
|
||
|
flw fa4,12(sp)
|
||
|
j .L102
|
||
|
.L129:
|
||
|
fdiv.s fa0,fa0,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
fsub.s fa4,fs7,fs5
|
||
|
flw fs11,.LC7,a5
|
||
|
fdiv.s fa3,fs1,fa0
|
||
|
fmadd.s fa5,fa4,fs4,fs5
|
||
|
fadd.s fa3,fa3,fs2
|
||
|
fmul.s fa3,fa3,fs8
|
||
|
fdiv.s fa3,fa3,fs11
|
||
|
j .L99
|
||
|
.L128:
|
||
|
fdiv.s fa0,fs2,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa5,fa0,fa5
|
||
|
j .L96
|
||
|
.size asr5, .-asr5
|
||
|
.align 1
|
||
|
.type asr5.constprop.4, @function
|
||
|
asr5.constprop.4:
|
||
|
addi sp,sp,-48
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s fs1,fa1,fa0
|
||
|
flw fa4,.LC6,a5
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa1
|
||
|
flw fa5,.LC0,a5
|
||
|
fmadd.s fs1,fs1,fa4,fa0
|
||
|
fdiv.s ft4,fa5,fa0
|
||
|
fsd fs0,24(sp)
|
||
|
flw ft2,.LC3,a5
|
||
|
flw fa1,.LC7,a5
|
||
|
fsub.s ft3,fs1,fa0
|
||
|
fsub.s ft0,fs2,fs1
|
||
|
sd ra,40(sp)
|
||
|
fsd fs3,0(sp)
|
||
|
fmadd.s fa3,ft3,fa4,fa0
|
||
|
fmadd.s fa4,ft0,fa4,fs1
|
||
|
fdiv.s ft1,fa5,fs1
|
||
|
fdiv.s fa3,fa5,fa3
|
||
|
fdiv.s fa4,fa5,fa4
|
||
|
fmadd.s fa3,fa3,ft2,ft4
|
||
|
fadd.s fa3,fa3,ft1
|
||
|
fmul.s fa3,fa3,ft3
|
||
|
fdiv.s fs0,fa5,fs2
|
||
|
fmadd.s fa4,fa4,ft2,ft1
|
||
|
fadd.s fs0,fs0,fa4
|
||
|
fdiv.s fa3,fa3,fa1
|
||
|
fmv.w.x fa4,zero
|
||
|
fmul.s fs0,fs0,ft0
|
||
|
fdiv.s fs0,fs0,fa1
|
||
|
fadd.s fa5,fs0,fa3
|
||
|
fsub.s fa2,fa5,fa2
|
||
|
fgt.s a5,fa2,fa4
|
||
|
fmv.s fa4,fa2
|
||
|
bne a5,zero,.L133
|
||
|
fneg.s fa4,fa2
|
||
|
.L133:
|
||
|
flw fa1,.LC10,a5
|
||
|
fle.s a5,fa4,fa1
|
||
|
beq a5,zero,.L139
|
||
|
fcvt.d.s fa0,fa2
|
||
|
fld fa4,.LC9,a5
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fdiv.d fa0,fa0,fa4
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa5
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L139:
|
||
|
flw fs3,.LC11,a5
|
||
|
fmv.s fa2,fs3
|
||
|
fmv.s fa1,fs1
|
||
|
li a0,1
|
||
|
call asr5
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa3,fs0
|
||
|
fmv.s fa2,fs3
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs1
|
||
|
li a0,1
|
||
|
fmv.s fs0,fa5
|
||
|
call asr5
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size asr5.constprop.4, .-asr5.constprop.4
|
||
|
.align 1
|
||
|
.type asr5.constprop.3, @function
|
||
|
asr5.constprop.3:
|
||
|
addi sp,sp,-48
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s fs1,fa1,fa0
|
||
|
flw fa3,.LC6,a5
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa1
|
||
|
flw fa5,.LC0,a5
|
||
|
fmadd.s fs1,fs1,fa3,fa0
|
||
|
fdiv.s ft4,fa5,fa0
|
||
|
fsd fs0,24(sp)
|
||
|
flw ft2,.LC3,a5
|
||
|
flw fa1,.LC7,a5
|
||
|
fsub.s ft3,fs1,fa0
|
||
|
fsub.s ft0,fs2,fs1
|
||
|
sd ra,40(sp)
|
||
|
fmadd.s fa4,ft3,fa3,fa0
|
||
|
fmadd.s fa3,ft0,fa3,fs1
|
||
|
fdiv.s ft1,fa5,fs1
|
||
|
fdiv.s fa4,fa5,fa4
|
||
|
fdiv.s fa3,fa5,fa3
|
||
|
fmadd.s fa4,fa4,ft2,ft4
|
||
|
fadd.s fa4,fa4,ft1
|
||
|
fmul.s fa4,fa4,ft3
|
||
|
fdiv.s fs0,fa5,fs2
|
||
|
fmadd.s fa3,fa3,ft2,ft1
|
||
|
fadd.s fs0,fs0,fa3
|
||
|
fdiv.s fa4,fa4,fa1
|
||
|
fmul.s fs0,fs0,ft0
|
||
|
fdiv.s fs0,fs0,fa1
|
||
|
fadd.s fa3,fs0,fa4
|
||
|
fsub.s fa5,fa3,fa2
|
||
|
fmv.w.x fa2,zero
|
||
|
fgt.s a5,fa5,fa2
|
||
|
fmv.s fa2,fa5
|
||
|
bne a5,zero,.L143
|
||
|
fneg.s fa2,fa5
|
||
|
.L143:
|
||
|
flw fa1,.LC12,a5
|
||
|
fle.s a5,fa2,fa1
|
||
|
beq a5,zero,.L149
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L149:
|
||
|
fmv.s fa2,fa4
|
||
|
fmv.s fa1,fs1
|
||
|
call asr5.constprop.4
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa2,fs0
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs1
|
||
|
fmv.s fs0,fa5
|
||
|
call asr5.constprop.4
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size asr5.constprop.3, .-asr5.constprop.3
|
||
|
.align 1
|
||
|
.type asr5.constprop.2, @function
|
||
|
asr5.constprop.2:
|
||
|
addi sp,sp,-48
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s fs1,fa1,fa0
|
||
|
flw fa3,.LC6,a5
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa1
|
||
|
flw fa5,.LC0,a5
|
||
|
fmadd.s fs1,fs1,fa3,fa0
|
||
|
fdiv.s ft4,fa5,fa0
|
||
|
fsd fs0,24(sp)
|
||
|
flw ft2,.LC3,a5
|
||
|
flw fa1,.LC7,a5
|
||
|
fsub.s ft3,fs1,fa0
|
||
|
fsub.s ft0,fs2,fs1
|
||
|
sd ra,40(sp)
|
||
|
fmadd.s fa4,ft3,fa3,fa0
|
||
|
fmadd.s fa3,ft0,fa3,fs1
|
||
|
fdiv.s ft1,fa5,fs1
|
||
|
fdiv.s fa4,fa5,fa4
|
||
|
fdiv.s fa3,fa5,fa3
|
||
|
fmadd.s fa4,fa4,ft2,ft4
|
||
|
fadd.s fa4,fa4,ft1
|
||
|
fmul.s fa4,fa4,ft3
|
||
|
fdiv.s fs0,fa5,fs2
|
||
|
fmadd.s fa3,fa3,ft2,ft1
|
||
|
fadd.s fs0,fs0,fa3
|
||
|
fdiv.s fa4,fa4,fa1
|
||
|
fmul.s fs0,fs0,ft0
|
||
|
fdiv.s fs0,fs0,fa1
|
||
|
fadd.s fa3,fs0,fa4
|
||
|
fsub.s fa5,fa3,fa2
|
||
|
fmv.w.x fa2,zero
|
||
|
fgt.s a5,fa5,fa2
|
||
|
fmv.s fa2,fa5
|
||
|
bne a5,zero,.L153
|
||
|
fneg.s fa2,fa5
|
||
|
.L153:
|
||
|
flw fa1,.LC13,a5
|
||
|
fle.s a5,fa2,fa1
|
||
|
beq a5,zero,.L159
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L159:
|
||
|
fmv.s fa2,fa4
|
||
|
fmv.s fa1,fs1
|
||
|
call asr5.constprop.3
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa2,fs0
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs1
|
||
|
fmv.s fs0,fa5
|
||
|
call asr5.constprop.3
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size asr5.constprop.2, .-asr5.constprop.2
|
||
|
.align 1
|
||
|
.type asr5.constprop.1, @function
|
||
|
asr5.constprop.1:
|
||
|
addi sp,sp,-48
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s fs1,fa1,fa0
|
||
|
flw fa3,.LC6,a5
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa1
|
||
|
flw fa5,.LC0,a5
|
||
|
fmadd.s fs1,fs1,fa3,fa0
|
||
|
fdiv.s ft4,fa5,fa0
|
||
|
fsd fs0,24(sp)
|
||
|
flw ft2,.LC3,a5
|
||
|
flw fa1,.LC7,a5
|
||
|
fsub.s ft3,fs1,fa0
|
||
|
fsub.s ft0,fs2,fs1
|
||
|
sd ra,40(sp)
|
||
|
fmadd.s fa4,ft3,fa3,fa0
|
||
|
fmadd.s fa3,ft0,fa3,fs1
|
||
|
fdiv.s ft1,fa5,fs1
|
||
|
fdiv.s fa4,fa5,fa4
|
||
|
fdiv.s fa3,fa5,fa3
|
||
|
fmadd.s fa4,fa4,ft2,ft4
|
||
|
fadd.s fa4,fa4,ft1
|
||
|
fmul.s fa4,fa4,ft3
|
||
|
fdiv.s fs0,fa5,fs2
|
||
|
fmadd.s fa3,fa3,ft2,ft1
|
||
|
fadd.s fs0,fs0,fa3
|
||
|
fdiv.s fa4,fa4,fa1
|
||
|
fmul.s fs0,fs0,ft0
|
||
|
fdiv.s fs0,fs0,fa1
|
||
|
fadd.s fa3,fs0,fa4
|
||
|
fsub.s fa5,fa3,fa2
|
||
|
fmv.w.x fa2,zero
|
||
|
fgt.s a5,fa5,fa2
|
||
|
fmv.s fa2,fa5
|
||
|
bne a5,zero,.L163
|
||
|
fneg.s fa2,fa5
|
||
|
.L163:
|
||
|
flw fa1,.LC14,a5
|
||
|
fle.s a5,fa2,fa1
|
||
|
beq a5,zero,.L169
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L169:
|
||
|
fmv.s fa2,fa4
|
||
|
fmv.s fa1,fs1
|
||
|
call asr5.constprop.2
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa2,fs0
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs1
|
||
|
fmv.s fs0,fa5
|
||
|
call asr5.constprop.2
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size asr5.constprop.1, .-asr5.constprop.1
|
||
|
.align 1
|
||
|
.type asr4.constprop.0, @function
|
||
|
asr4.constprop.0:
|
||
|
flw fa4,.LC0,a5
|
||
|
fsub.s ft4,fa0,fa4
|
||
|
addi sp,sp,-48
|
||
|
flw fa5,.LC6,a5
|
||
|
fsd fs3,0(sp)
|
||
|
fdiv.s ft0,fa4,fa0
|
||
|
fmadd.s fs3,ft4,fa5,fa4
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa0
|
||
|
flw ft1,.LC3,a5
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s ft2,fa0,fs3
|
||
|
fsub.s ft3,fs3,fa4
|
||
|
flw fa1,.LC7,a5
|
||
|
sd ra,40(sp)
|
||
|
fsd fs0,24(sp)
|
||
|
fmadd.s fa3,ft2,fa5,fs3
|
||
|
fmadd.s fa2,ft3,fa5,fa4
|
||
|
fdiv.s fa0,fa4,fs3
|
||
|
fdiv.s fa2,fa4,fa2
|
||
|
fmadd.s fa5,fa0,ft1,fa4
|
||
|
fadd.s fa5,fa5,ft0
|
||
|
fmul.s fa5,fa5,ft4
|
||
|
fdiv.s fa3,fa4,fa3
|
||
|
fmadd.s fa2,fa2,ft1,fa4
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fmul.s fa2,fa2,ft3
|
||
|
fmadd.s fa3,fa3,ft1,fa0
|
||
|
fdiv.s fa2,fa2,fa1
|
||
|
fadd.s fs1,ft0,fa3
|
||
|
fmul.s fs1,fs1,ft2
|
||
|
fdiv.s fs1,fs1,fa1
|
||
|
fdiv.s fa5,fa5,fa1
|
||
|
fadd.s fa3,fs1,fa2
|
||
|
fmv.w.x fa1,zero
|
||
|
fsub.s fa5,fa3,fa5
|
||
|
fgt.s a5,fa5,fa1
|
||
|
fmv.s fa1,fa5
|
||
|
bne a5,zero,.L173
|
||
|
fneg.s fa1,fa5
|
||
|
.L173:
|
||
|
flw fa0,.LC15,a5
|
||
|
fle.s a5,fa1,fa0
|
||
|
beq a5,zero,.L179
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L179:
|
||
|
fmv.s fa1,fs3
|
||
|
fmv.s fa0,fa4
|
||
|
call asr5.constprop.1
|
||
|
fmv.s fs0,fa0
|
||
|
fmv.s fa2,fs1
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs3
|
||
|
call asr5.constprop.1
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size asr4.constprop.0, .-asr4.constprop.0
|
||
|
.align 1
|
||
|
.globl asr4
|
||
|
.type asr4, @function
|
||
|
asr4:
|
||
|
addi sp,sp,-112
|
||
|
fsd fs5,48(sp)
|
||
|
fsub.s fs5,fa1,fa0
|
||
|
fsd fs7,32(sp)
|
||
|
flw fs7,.LC6,a5
|
||
|
sd s0,96(sp)
|
||
|
fsd fs1,80(sp)
|
||
|
fsd fs2,72(sp)
|
||
|
fsd fs3,64(sp)
|
||
|
fsd fs4,56(sp)
|
||
|
sd ra,104(sp)
|
||
|
fsd fs0,88(sp)
|
||
|
fsd fs6,40(sp)
|
||
|
fsd fs8,24(sp)
|
||
|
fsd fs9,16(sp)
|
||
|
fsd fs10,8(sp)
|
||
|
li a5,1
|
||
|
fmadd.s fs2,fs5,fs7,fa0
|
||
|
fmv.s fs3,fa0
|
||
|
fmv.s fs1,fa1
|
||
|
fmv.s fs4,fa2
|
||
|
mv s0,a0
|
||
|
beq a0,a5,.L209
|
||
|
li a5,2
|
||
|
fmv.w.x fs0,zero
|
||
|
beq a0,a5,.L210
|
||
|
.L184:
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs3
|
||
|
mv a0,s0
|
||
|
call simpson
|
||
|
fmv.s fs6,fa0
|
||
|
fmv.s fa1,fs1
|
||
|
fmv.s fa0,fs2
|
||
|
mv a0,s0
|
||
|
call simpson
|
||
|
fadd.s fa3,fs6,fa0
|
||
|
fmv.w.x fa4,zero
|
||
|
fmv.s fs5,fa0
|
||
|
fsub.s fa5,fa3,fs0
|
||
|
fgt.s a5,fa5,fa4
|
||
|
fmv.s fa2,fa5
|
||
|
bne a5,zero,.L194
|
||
|
fneg.s fa2,fa5
|
||
|
.L194:
|
||
|
flw fa4,.LC8,a5
|
||
|
fmul.s fa4,fs4,fa4
|
||
|
fge.s a5,fa4,fa2
|
||
|
beq a5,zero,.L207
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
.L182:
|
||
|
ld ra,104(sp)
|
||
|
ld s0,96(sp)
|
||
|
fld fs0,88(sp)
|
||
|
fld fs1,80(sp)
|
||
|
fld fs2,72(sp)
|
||
|
fld fs3,64(sp)
|
||
|
fld fs4,56(sp)
|
||
|
fld fs5,48(sp)
|
||
|
fld fs6,40(sp)
|
||
|
fld fs7,32(sp)
|
||
|
fld fs8,24(sp)
|
||
|
fld fs9,16(sp)
|
||
|
fld fs10,8(sp)
|
||
|
addi sp,sp,112
|
||
|
jr ra
|
||
|
.L207:
|
||
|
fmul.s fs4,fs4,fs7
|
||
|
fmv.s fa3,fs6
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs3
|
||
|
mv a0,s0
|
||
|
fmv.s fa2,fs4
|
||
|
call asr5
|
||
|
fmv.s fs0,fa0
|
||
|
fmv.s fa3,fs5
|
||
|
fmv.s fa2,fs4
|
||
|
fmv.s fa1,fs1
|
||
|
fmv.s fa0,fs2
|
||
|
mv a0,s0
|
||
|
call asr5
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
j .L182
|
||
|
.L209:
|
||
|
flw fa4,.LC0,a5
|
||
|
fdiv.s fa3,fa4,fs2
|
||
|
flw fa0,.LC3,a5
|
||
|
flw fa2,.LC7,a5
|
||
|
fdiv.s fa1,fa4,fs3
|
||
|
fdiv.s fa5,fa4,fs1
|
||
|
fmadd.s fa4,fa3,fa0,fa1
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs5
|
||
|
fdiv.s fs0,fa5,fa2
|
||
|
j .L184
|
||
|
.L210:
|
||
|
flw fs0,.LC0,a5
|
||
|
fnmsub.s fs8,fa0,fa0,fs0
|
||
|
flw fs10,.LC1,a5
|
||
|
fgt.s a5,fs8,fs10
|
||
|
bne a5,zero,.L211
|
||
|
flw fs9,.LC3,a5
|
||
|
fadd.s fa5,fs8,fs8
|
||
|
fadd.s fa2,fs8,fs9
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fs8,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fdiv.s fa5,fa5,fa2
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fs8,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs8,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs8,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs8,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs8,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs8,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs8,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs8,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs8,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fs8,fs8,fa5
|
||
|
fadd.s fs8,fs8,fa5
|
||
|
fmul.s fs8,fs8,fs7
|
||
|
.L187:
|
||
|
fnmsub.s fs6,fs2,fs2,fs0
|
||
|
fdiv.s fs8,fs0,fs8
|
||
|
fgt.s a5,fs6,fs10
|
||
|
bne a5,zero,.L212
|
||
|
fadd.s fa5,fs6,fs6
|
||
|
fadd.s fa2,fs6,fs9
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fs6,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fdiv.s fa5,fa5,fa2
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fs6,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs6,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs6,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs6,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs6,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs6,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs6,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fs6,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fs6,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fs6,fs6,fa5
|
||
|
fadd.s fs6,fs6,fa5
|
||
|
fmul.s fs6,fs6,fs7
|
||
|
.L190:
|
||
|
fdiv.s fs6,fs0,fs6
|
||
|
fnmsub.s fa0,fs1,fs1,fs0
|
||
|
fgt.s a5,fa0,fs10
|
||
|
fmadd.s fs6,fs6,fs9,fs8
|
||
|
bne a5,zero,.L213
|
||
|
fadd.s fa5,fa0,fa0
|
||
|
fadd.s fs9,fa0,fs9
|
||
|
flw fa4,.LC4,a5
|
||
|
fmul.s fa4,fa0,fa4
|
||
|
fld fa3,.LC5,a5
|
||
|
fdiv.s fa5,fa5,fs9
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fa0,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fa0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fa0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fa0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fa0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fa0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fa0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa4,fa0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs7
|
||
|
fdiv.s fa5,fa0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs7
|
||
|
fdiv.s fa0,fa0,fa5
|
||
|
fadd.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fs7
|
||
|
.L193:
|
||
|
fdiv.s fa5,fs0,fa0
|
||
|
flw fa4,.LC7,a5
|
||
|
fadd.s fa5,fa5,fs6
|
||
|
fmul.s fa5,fa5,fs5
|
||
|
fdiv.s fs0,fa5,fa4
|
||
|
j .L184
|
||
|
.L211:
|
||
|
fdiv.s fa0,fs8,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fs8,fa0,fa5
|
||
|
flw fs9,.LC3,a5
|
||
|
j .L187
|
||
|
.L213:
|
||
|
fdiv.s fa0,fa0,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
j .L193
|
||
|
.L212:
|
||
|
fdiv.s fa0,fs6,fs10
|
||
|
call my_sqrt
|
||
|
flw fa5,.LC2,a5
|
||
|
fmul.s fs6,fa0,fa5
|
||
|
j .L190
|
||
|
.size asr4, .-asr4
|
||
|
.align 1
|
||
|
.globl eee
|
||
|
.type eee, @function
|
||
|
eee:
|
||
|
fcvt.d.s fa4,fa0
|
||
|
fld fa5,.LC16,a5
|
||
|
fgt.d a5,fa4,fa5
|
||
|
bne a5,zero,.L224
|
||
|
fmul.s fa4,fa0,fa0
|
||
|
flw ft2,.LC7,a5
|
||
|
flw fa2,.LC0,a5
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
flw ft0,.LC17,a5
|
||
|
fmul.s fa5,fa4,fa0
|
||
|
fmul.s fa3,fa4,fa4
|
||
|
flw ft1,.LC6,a5
|
||
|
fmadd.s fa4,fa4,ft1,fa2
|
||
|
flw fa1,.LC18,a5
|
||
|
fdiv.s fa5,fa5,ft2
|
||
|
fmul.s fa0,fa0,fa3
|
||
|
fdiv.s fa3,fa3,ft0
|
||
|
fadd.s fa4,fa5,fa4
|
||
|
fdiv.s fa5,fa0,fa1
|
||
|
fadd.s fa0,fa4,fa3
|
||
|
fadd.s fa0,fa0,fa5
|
||
|
ret
|
||
|
.L224:
|
||
|
flw fa5,.LC6,a5
|
||
|
fmul.s fa0,fa0,fa5
|
||
|
addi sp,sp,-16
|
||
|
sd ra,8(sp)
|
||
|
call eee
|
||
|
ld ra,8(sp)
|
||
|
fmul.s fa0,fa0,fa0
|
||
|
addi sp,sp,16
|
||
|
jr ra
|
||
|
.size eee, .-eee
|
||
|
.align 1
|
||
|
.globl my_exp
|
||
|
.type my_exp, @function
|
||
|
my_exp:
|
||
|
fmv.w.x fa5,zero
|
||
|
addi sp,sp,-32
|
||
|
sd ra,24(sp)
|
||
|
flt.s a5,fa0,fa5
|
||
|
fsd fs0,8(sp)
|
||
|
bne a5,zero,.L247
|
||
|
fcvt.w.s a4,fa0,rtz
|
||
|
fcvt.s.w fa5,a4
|
||
|
sext.w a5,a4
|
||
|
fsub.s fa0,fa0,fa5
|
||
|
blt a5,zero,.L229
|
||
|
beq a5,zero,.L248
|
||
|
flw fs0,.LC0,a4
|
||
|
flw fa5,.LC19,a4
|
||
|
.L230:
|
||
|
andi a4,a5,1
|
||
|
srai a5,a5,1
|
||
|
beq a4,zero,.L234
|
||
|
fmul.s fs0,fs0,fa5
|
||
|
.L234:
|
||
|
fmul.s fa5,fa5,fa5
|
||
|
bne a5,zero,.L230
|
||
|
.L231:
|
||
|
call eee
|
||
|
ld ra,24(sp)
|
||
|
fmul.s fa0,fa0,fs0
|
||
|
fld fs0,8(sp)
|
||
|
addi sp,sp,32
|
||
|
jr ra
|
||
|
.L247:
|
||
|
fneg.s fa0,fa0
|
||
|
call my_exp
|
||
|
ld ra,24(sp)
|
||
|
flw fa5,.LC0,a5
|
||
|
fld fs0,8(sp)
|
||
|
fdiv.s fa0,fa5,fa0
|
||
|
addi sp,sp,32
|
||
|
jr ra
|
||
|
.L229:
|
||
|
flw fs0,.LC0,a5
|
||
|
fmv.s fa4,fs0
|
||
|
negw a5,a4
|
||
|
flw fa5,.LC19,a4
|
||
|
.L233:
|
||
|
andi a4,a5,1
|
||
|
srai a5,a5,1
|
||
|
beq a4,zero,.L232
|
||
|
fmul.s fa4,fa4,fa5
|
||
|
.L232:
|
||
|
fmul.s fa5,fa5,fa5
|
||
|
bne a5,zero,.L233
|
||
|
fdiv.s fs0,fs0,fa4
|
||
|
j .L231
|
||
|
.L248:
|
||
|
flw fs0,.LC0,a5
|
||
|
j .L231
|
||
|
.size my_exp, .-my_exp
|
||
|
.align 1
|
||
|
.globl my_ln
|
||
|
.type my_ln, @function
|
||
|
my_ln:
|
||
|
flw fa4,.LC0,a5
|
||
|
fsub.s ft4,fa0,fa4
|
||
|
addi sp,sp,-48
|
||
|
flw fa5,.LC6,a5
|
||
|
fsd fs3,0(sp)
|
||
|
fdiv.s ft0,fa4,fa0
|
||
|
fmadd.s fs3,ft4,fa5,fa4
|
||
|
fsd fs2,8(sp)
|
||
|
fmv.s fs2,fa0
|
||
|
flw ft1,.LC3,a5
|
||
|
fsd fs1,16(sp)
|
||
|
fsub.s ft2,fa0,fs3
|
||
|
fsub.s ft3,fs3,fa4
|
||
|
flw fa1,.LC7,a5
|
||
|
sd ra,40(sp)
|
||
|
fsd fs0,24(sp)
|
||
|
fmadd.s fa3,ft2,fa5,fs3
|
||
|
fmadd.s fa2,ft3,fa5,fa4
|
||
|
fdiv.s fa0,fa4,fs3
|
||
|
fdiv.s fa2,fa4,fa2
|
||
|
fmadd.s fa5,fa0,ft1,fa4
|
||
|
fadd.s fa5,fa5,ft0
|
||
|
fmul.s fa5,fa5,ft4
|
||
|
fdiv.s fa3,fa4,fa3
|
||
|
fmadd.s fa2,fa2,ft1,fa4
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fmul.s fa2,fa2,ft3
|
||
|
fmadd.s fa3,fa3,ft1,fa0
|
||
|
fdiv.s fa2,fa2,fa1
|
||
|
fadd.s fs1,ft0,fa3
|
||
|
fmul.s fs1,fs1,ft2
|
||
|
fdiv.s fs1,fs1,fa1
|
||
|
fdiv.s fa5,fa5,fa1
|
||
|
fadd.s fa3,fs1,fa2
|
||
|
fmv.w.x fa1,zero
|
||
|
fsub.s fa5,fa3,fa5
|
||
|
fgt.s a5,fa5,fa1
|
||
|
fmv.s fa1,fa5
|
||
|
bne a5,zero,.L250
|
||
|
fneg.s fa1,fa5
|
||
|
.L250:
|
||
|
flw fa0,.LC15,a5
|
||
|
fle.s a5,fa1,fa0
|
||
|
beq a5,zero,.L256
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
jr ra
|
||
|
.L256:
|
||
|
fmv.s fa1,fs3
|
||
|
fmv.s fa0,fa4
|
||
|
call asr5.constprop.1
|
||
|
fmv.s fs0,fa0
|
||
|
fmv.s fa2,fs1
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs3
|
||
|
call asr5.constprop.1
|
||
|
ld ra,40(sp)
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
fld fs1,16(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size my_ln, .-my_ln
|
||
|
.align 1
|
||
|
.globl my_log
|
||
|
.type my_log, @function
|
||
|
my_log:
|
||
|
addi sp,sp,-48
|
||
|
fsd fs1,16(sp)
|
||
|
fmv.s fs1,fa0
|
||
|
fmv.s fa0,fa1
|
||
|
fsd fs0,24(sp)
|
||
|
fsd fs2,8(sp)
|
||
|
fsd fs3,0(sp)
|
||
|
sd ra,40(sp)
|
||
|
call asr4.constprop.0
|
||
|
flw fa4,.LC0,a5
|
||
|
fsub.s ft4,fs1,fa4
|
||
|
flw fa5,.LC6,a5
|
||
|
fmv.s fs3,fa0
|
||
|
fdiv.s ft0,fa4,fs1
|
||
|
flw ft1,.LC3,a5
|
||
|
fmadd.s fs2,ft4,fa5,fa4
|
||
|
flw fa1,.LC7,a5
|
||
|
fsub.s ft3,fs2,fa4
|
||
|
fsub.s ft2,fs1,fs2
|
||
|
fmadd.s fa2,ft3,fa5,fa4
|
||
|
fmadd.s fa3,ft2,fa5,fs2
|
||
|
fdiv.s fa0,fa4,fs2
|
||
|
fdiv.s fa2,fa4,fa2
|
||
|
fmadd.s fa5,fa0,ft1,fa4
|
||
|
fadd.s fa5,fa5,ft0
|
||
|
fmul.s fa5,fa5,ft4
|
||
|
fdiv.s fa3,fa4,fa3
|
||
|
fmadd.s fa2,fa2,ft1,fa4
|
||
|
fadd.s fa2,fa0,fa2
|
||
|
fmul.s fa2,fa2,ft3
|
||
|
fmadd.s fa3,fa3,ft1,fa0
|
||
|
fdiv.s fa2,fa2,fa1
|
||
|
fadd.s fs0,ft0,fa3
|
||
|
fmul.s fs0,fs0,ft2
|
||
|
fdiv.s fs0,fs0,fa1
|
||
|
fdiv.s fa5,fa5,fa1
|
||
|
fadd.s fa3,fs0,fa2
|
||
|
fmv.w.x fa1,zero
|
||
|
fsub.s fa5,fa3,fa5
|
||
|
fgt.s a5,fa5,fa1
|
||
|
fmv.s fa1,fa5
|
||
|
bne a5,zero,.L260
|
||
|
fneg.s fa1,fa5
|
||
|
.L260:
|
||
|
flw fa0,.LC15,a5
|
||
|
fle.s a5,fa1,fa0
|
||
|
beq a5,zero,.L266
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fld fa4,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa5,fa5,fa4
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fadd.d fa5,fa5,fa3
|
||
|
fcvt.s.d fa0,fa5
|
||
|
fdiv.s fa0,fs3,fa0
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.L266:
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fa4
|
||
|
call asr5.constprop.1
|
||
|
fmv.s fa5,fa0
|
||
|
fmv.s fa2,fs0
|
||
|
fmv.s fa1,fs1
|
||
|
fmv.s fa0,fs2
|
||
|
fmv.s fs0,fa5
|
||
|
call asr5.constprop.1
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
ld ra,40(sp)
|
||
|
fld fs0,24(sp)
|
||
|
fld fs1,16(sp)
|
||
|
fld fs2,8(sp)
|
||
|
fdiv.s fa0,fs3,fa0
|
||
|
fld fs3,0(sp)
|
||
|
addi sp,sp,48
|
||
|
jr ra
|
||
|
.size my_log, .-my_log
|
||
|
.align 1
|
||
|
.globl my_powf
|
||
|
.type my_powf, @function
|
||
|
my_powf:
|
||
|
addi sp,sp,-64
|
||
|
fsd fs2,24(sp)
|
||
|
fmv.s fs2,fa0
|
||
|
flw fa4,.LC0,a5
|
||
|
flw fa5,.LC6,a5
|
||
|
fsub.s ft4,fs2,fa4
|
||
|
fsd fs3,16(sp)
|
||
|
fsd fs4,8(sp)
|
||
|
fmv.s fs4,fa1
|
||
|
fdiv.s ft0,fa4,fs2
|
||
|
fmadd.s fs3,ft4,fa5,fa4
|
||
|
flw ft1,.LC3,a5
|
||
|
fsd fs1,32(sp)
|
||
|
flw fa0,.LC7,a5
|
||
|
sd ra,56(sp)
|
||
|
fsub.s ft3,fs3,fa4
|
||
|
fsub.s ft2,fs2,fs3
|
||
|
fsd fs0,40(sp)
|
||
|
fmadd.s fa2,ft3,fa5,fa4
|
||
|
fmadd.s fa3,ft2,fa5,fs3
|
||
|
fdiv.s fa1,fa4,fs3
|
||
|
fdiv.s fa2,fa4,fa2
|
||
|
fmadd.s fa5,fa1,ft1,fa4
|
||
|
fadd.s fa5,fa5,ft0
|
||
|
fmul.s fa5,fa5,ft4
|
||
|
fdiv.s fa3,fa4,fa3
|
||
|
fmadd.s fa2,fa2,ft1,fa4
|
||
|
fadd.s fa2,fa1,fa2
|
||
|
fmul.s fa2,fa2,ft3
|
||
|
fmadd.s fa3,fa3,ft1,fa1
|
||
|
fdiv.s fa2,fa2,fa0
|
||
|
fmv.w.x fa1,zero
|
||
|
fadd.s fs1,ft0,fa3
|
||
|
fmul.s fs1,fs1,ft2
|
||
|
fdiv.s fs1,fs1,fa0
|
||
|
fdiv.s fa5,fa5,fa0
|
||
|
fadd.s fa3,fs1,fa2
|
||
|
fsub.s fa5,fa3,fa5
|
||
|
fgt.s a5,fa5,fa1
|
||
|
fmv.s fa1,fa5
|
||
|
bne a5,zero,.L270
|
||
|
fneg.s fa1,fa5
|
||
|
.L270:
|
||
|
flw fa0,.LC15,a5
|
||
|
fle.s a5,fa1,fa0
|
||
|
beq a5,zero,.L276
|
||
|
fcvt.d.s fa0,fa5
|
||
|
fld fa5,.LC9,a5
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fdiv.d fa0,fa0,fa5
|
||
|
fadd.d fa0,fa0,fa3
|
||
|
fcvt.s.d fa0,fa0
|
||
|
.L273:
|
||
|
fmul.s fa0,fs4,fa0
|
||
|
ld ra,56(sp)
|
||
|
fld fs0,40(sp)
|
||
|
fld fs1,32(sp)
|
||
|
fld fs2,24(sp)
|
||
|
fld fs3,16(sp)
|
||
|
fld fs4,8(sp)
|
||
|
addi sp,sp,64
|
||
|
tail my_exp
|
||
|
.L276:
|
||
|
fmv.s fa1,fs3
|
||
|
fmv.s fa0,fa4
|
||
|
call asr5.constprop.1
|
||
|
fmv.s fs0,fa0
|
||
|
fmv.s fa2,fs1
|
||
|
fmv.s fa1,fs2
|
||
|
fmv.s fa0,fs3
|
||
|
call asr5.constprop.1
|
||
|
fadd.s fa0,fs0,fa0
|
||
|
j .L273
|
||
|
.size my_powf, .-my_powf
|
||
|
.section .text.startup,"ax",@progbits
|
||
|
.align 1
|
||
|
.globl main
|
||
|
.type main, @function
|
||
|
main:
|
||
|
addi sp,sp,-112
|
||
|
sd ra,104(sp)
|
||
|
sd s0,96(sp)
|
||
|
sd s1,88(sp)
|
||
|
fsd fs0,72(sp)
|
||
|
fsd fs1,64(sp)
|
||
|
fsd fs2,56(sp)
|
||
|
fsd fs3,48(sp)
|
||
|
fsd fs4,40(sp)
|
||
|
fsd fs5,32(sp)
|
||
|
fsd fs6,24(sp)
|
||
|
fsd fs7,16(sp)
|
||
|
fsd fs8,8(sp)
|
||
|
fsd fs9,0(sp)
|
||
|
call getint@plt
|
||
|
beq a0,zero,.L312
|
||
|
fmv.w.x fs3,zero
|
||
|
mv s0,a0
|
||
|
flw fs4,.LC1,a5
|
||
|
flw fs7,.LC3,a5
|
||
|
flw fs6,.LC4,a5
|
||
|
fld fs5,.LC5,a5
|
||
|
flw fs1,.LC6,a5
|
||
|
flw fs8,.LC2,a5
|
||
|
j .L280
|
||
|
.L323:
|
||
|
fmv.s fa0,fs0
|
||
|
call asr4.constprop.0
|
||
|
fmv.s fs9,fa0
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
fgt.s a5,fs2,fs3
|
||
|
bne a5,zero,.L321
|
||
|
li a0,45
|
||
|
call putch@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
.L299:
|
||
|
fmv.s fa0,fs0
|
||
|
addiw s0,s0,-1
|
||
|
call asr4.constprop.0
|
||
|
fmul.s fa0,fs2,fa0
|
||
|
call my_exp
|
||
|
call putfloat@plt
|
||
|
li a0,10
|
||
|
call putch@plt
|
||
|
beq s0,zero,.L312
|
||
|
.L280:
|
||
|
call getfloat@plt
|
||
|
fmv.s fs0,fa0
|
||
|
call getfloat@plt
|
||
|
fmv.s fs2,fa0
|
||
|
fgt.s a5,fs0,fs3
|
||
|
fmv.s fa5,fs0
|
||
|
bne a5,zero,.L281
|
||
|
fneg.s fa5,fs0
|
||
|
.L281:
|
||
|
fmv.s fa0,fa5
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
fmul.s fa0,fs0,fs0
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
fgt.s a5,fs0,fs4
|
||
|
bne a5,zero,.L322
|
||
|
fadd.s fa5,fs0,fs0
|
||
|
fadd.s fa3,fs0,fs7
|
||
|
fmul.s fa4,fs0,fs6
|
||
|
fdiv.s fa5,fa5,fa3
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fs5
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa4
|
||
|
fcvt.s.d fa5,fa5
|
||
|
fdiv.s fa4,fs0,fa5
|
||
|
fadd.s fa5,fa4,fa5
|
||
|
fmul.s fa5,fa5,fs1
|
||
|
fdiv.s fa4,fs0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa5,fs0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs1
|
||
|
fdiv.s fa4,fs0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa5,fs0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs1
|
||
|
fdiv.s fa4,fs0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa5,fs0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs1
|
||
|
fdiv.s fa4,fs0,fa5
|
||
|
fadd.s fa4,fa4,fa5
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa5,fs0,fa4
|
||
|
fadd.s fa5,fa5,fa4
|
||
|
fmul.s fa5,fa5,fs1
|
||
|
fdiv.s fa0,fs0,fa5
|
||
|
fadd.s fa0,fa0,fa5
|
||
|
fmul.s fa0,fa0,fs1
|
||
|
.L294:
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
fmv.s fa0,fs0
|
||
|
call my_exp
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
fgt.s s1,fs0,fs3
|
||
|
bne s1,zero,.L323
|
||
|
li a0,45
|
||
|
call putch@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
li a0,45
|
||
|
call putch@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
bne s1,zero,.L299
|
||
|
li a0,45
|
||
|
call putch@plt
|
||
|
addiw s0,s0,-1
|
||
|
li a0,10
|
||
|
call putch@plt
|
||
|
bne s0,zero,.L280
|
||
|
.L312:
|
||
|
ld ra,104(sp)
|
||
|
ld s0,96(sp)
|
||
|
ld s1,88(sp)
|
||
|
fld fs0,72(sp)
|
||
|
fld fs1,64(sp)
|
||
|
fld fs2,56(sp)
|
||
|
fld fs3,48(sp)
|
||
|
fld fs4,40(sp)
|
||
|
fld fs5,32(sp)
|
||
|
fld fs6,24(sp)
|
||
|
fld fs7,16(sp)
|
||
|
fld fs8,8(sp)
|
||
|
fld fs9,0(sp)
|
||
|
li a0,0
|
||
|
addi sp,sp,112
|
||
|
jr ra
|
||
|
.L321:
|
||
|
fmv.s fa0,fs2
|
||
|
call asr4.constprop.0
|
||
|
fdiv.s fa0,fa0,fs9
|
||
|
call putfloat@plt
|
||
|
li a0,32
|
||
|
call putch@plt
|
||
|
j .L299
|
||
|
.L322:
|
||
|
fdiv.s fa5,fs0,fs4
|
||
|
fgt.s a5,fa5,fs4
|
||
|
bne a5,zero,.L324
|
||
|
fadd.s fa4,fa5,fa5
|
||
|
fadd.s fa1,fa5,fs7
|
||
|
fmul.s fa3,fa5,fs6
|
||
|
fmv.s fa2,fs8
|
||
|
fdiv.s fa4,fa4,fa1
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fs5
|
||
|
fcvt.d.s fa4,fa4
|
||
|
fadd.d fa4,fa4,fa3
|
||
|
fcvt.s.d fa4,fa4
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa4,fa3,fa4
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs1
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs1
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs1
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa3,fa5,fa4
|
||
|
fadd.s fa3,fa3,fa4
|
||
|
fmul.s fa3,fa3,fs1
|
||
|
fdiv.s fa4,fa5,fa3
|
||
|
fadd.s fa4,fa4,fa3
|
||
|
fmul.s fa4,fa4,fs1
|
||
|
fdiv.s fa0,fa5,fa4
|
||
|
fadd.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fs1
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
j .L294
|
||
|
.L324:
|
||
|
fdiv.s fa5,fa5,fs4
|
||
|
fgt.s a5,fa5,fs4
|
||
|
bne a5,zero,.L325
|
||
|
flw fa2,.LC3,a5
|
||
|
fadd.s fa2,fa5,fa2
|
||
|
fadd.s fa3,fa5,fa5
|
||
|
flw fa1,.LC4,a5
|
||
|
fmul.s fa1,fa5,fa1
|
||
|
fld fa0,.LC5,a5
|
||
|
flw fa4,.LC6,a5
|
||
|
fdiv.s fa3,fa3,fa2
|
||
|
flw fa2,.LC2,a5
|
||
|
fcvt.d.s fa1,fa1
|
||
|
fadd.d fa1,fa1,fa0
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa1
|
||
|
fcvt.s.d fa3,fa3
|
||
|
fdiv.s fa1,fa5,fa3
|
||
|
fadd.s fa3,fa1,fa3
|
||
|
fmul.s fa3,fa3,fa4
|
||
|
fdiv.s fa1,fa5,fa3
|
||
|
fadd.s fa1,fa1,fa3
|
||
|
fmul.s fa1,fa1,fa4
|
||
|
fdiv.s fa3,fa5,fa1
|
||
|
fadd.s fa3,fa3,fa1
|
||
|
fmul.s fa3,fa3,fa4
|
||
|
fdiv.s fa1,fa5,fa3
|
||
|
fadd.s fa1,fa1,fa3
|
||
|
fmul.s fa1,fa1,fa4
|
||
|
fdiv.s fa3,fa5,fa1
|
||
|
fadd.s fa3,fa3,fa1
|
||
|
fmul.s fa3,fa3,fa4
|
||
|
fdiv.s fa1,fa5,fa3
|
||
|
fadd.s fa1,fa1,fa3
|
||
|
fmul.s fa1,fa1,fa4
|
||
|
fdiv.s fa3,fa5,fa1
|
||
|
fadd.s fa3,fa3,fa1
|
||
|
fmul.s fa3,fa3,fa4
|
||
|
fdiv.s fa1,fa5,fa3
|
||
|
fadd.s fa1,fa1,fa3
|
||
|
fmul.s fa1,fa1,fa4
|
||
|
fdiv.s fa3,fa5,fa1
|
||
|
fadd.s fa3,fa3,fa1
|
||
|
fmul.s fa3,fa3,fa4
|
||
|
fdiv.s fa5,fa5,fa3
|
||
|
fadd.s fa0,fa5,fa3
|
||
|
fmul.s fa0,fa0,fa4
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
.L327:
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
j .L294
|
||
|
.L325:
|
||
|
fdiv.s fa0,fa5,fs4
|
||
|
fgt.s a5,fa0,fs4
|
||
|
bne a5,zero,.L326
|
||
|
flw fa4,.LC3,a5
|
||
|
fadd.s fa4,fa0,fa4
|
||
|
fadd.s fa5,fa0,fa0
|
||
|
flw fa3,.LC4,a5
|
||
|
fmul.s fa3,fa0,fa3
|
||
|
fld fa2,.LC5,a5
|
||
|
li a5,10
|
||
|
fdiv.s fa5,fa5,fa4
|
||
|
flw fa4,.LC6,a4
|
||
|
fcvt.d.s fa3,fa3
|
||
|
fadd.d fa3,fa3,fa2
|
||
|
fcvt.d.s fa5,fa5
|
||
|
fadd.d fa5,fa5,fa3
|
||
|
fcvt.s.d fa5,fa5
|
||
|
.L291:
|
||
|
fdiv.s fa3,fa0,fa5
|
||
|
addiw a5,a5,-1
|
||
|
fadd.s fa5,fa3,fa5
|
||
|
fmul.s fa5,fa5,fa4
|
||
|
bne a5,zero,.L291
|
||
|
flw fa2,.LC2,a5
|
||
|
fmul.s fa0,fa5,fa2
|
||
|
.L328:
|
||
|
fmul.s fa0,fa0,fa2
|
||
|
j .L327
|
||
|
.L326:
|
||
|
fdiv.s fa0,fa0,fs4
|
||
|
call my_sqrt
|
||
|
flw fa2,.LC2,a5
|
||
|
fmul.s fa5,fa0,fa2
|
||
|
fmul.s fa0,fa5,fa2
|
||
|
j .L328
|
||
|
.size main, .-main
|
||
|
.globl e
|
||
|
.globl _sysy_idx
|
||
|
.globl _sysy_us
|
||
|
.globl _sysy_s
|
||
|
.globl _sysy_m
|
||
|
.globl _sysy_h
|
||
|
.globl _sysy_l2
|
||
|
.globl _sysy_l1
|
||
|
.globl _sysy_end
|
||
|
.globl _sysy_start
|
||
|
.section .rodata.cst4,"aM",@progbits,4
|
||
|
.align 2
|
||
|
.LC0:
|
||
|
.word 1065353216
|
||
|
.align 2
|
||
|
.LC1:
|
||
|
.word 1120403456
|
||
|
.align 2
|
||
|
.LC2:
|
||
|
.word 1092616192
|
||
|
.align 2
|
||
|
.LC3:
|
||
|
.word 1082130432
|
||
|
.align 2
|
||
|
.LC4:
|
||
|
.word 1040187392
|
||
|
.section .rodata.cst8,"aM",@progbits,8
|
||
|
.align 3
|
||
|
.LC5:
|
||
|
.word 0
|
||
|
.word 1071644672
|
||
|
.section .rodata.cst4
|
||
|
.align 2
|
||
|
.LC6:
|
||
|
.word 1056964608
|
||
|
.align 2
|
||
|
.LC7:
|
||
|
.word 1086324736
|
||
|
.align 2
|
||
|
.LC8:
|
||
|
.word 1097859072
|
||
|
.section .rodata.cst8
|
||
|
.align 3
|
||
|
.LC9:
|
||
|
.word 0
|
||
|
.word 1076756480
|
||
|
.section .rodata.cst4
|
||
|
.align 2
|
||
|
.LC10:
|
||
|
.word 841027504
|
||
|
.align 2
|
||
|
.LC11:
|
||
|
.word 799788151
|
||
|
.align 2
|
||
|
.LC12:
|
||
|
.word 849416112
|
||
|
.align 2
|
||
|
.LC13:
|
||
|
.word 857804720
|
||
|
.align 2
|
||
|
.LC14:
|
||
|
.word 866193328
|
||
|
.align 2
|
||
|
.LC15:
|
||
|
.word 874581936
|
||
|
.section .rodata.cst8
|
||
|
.align 3
|
||
|
.LC16:
|
||
|
.word -755914244
|
||
|
.word 1062232653
|
||
|
.section .rodata.cst4
|
||
|
.align 2
|
||
|
.LC17:
|
||
|
.word 1103101952
|
||
|
.align 2
|
||
|
.LC18:
|
||
|
.word 1123024896
|
||
|
.align 2
|
||
|
.LC19:
|
||
|
.word 1076754516
|
||
|
.section .rodata
|
||
|
.align 2
|
||
|
.type e, @object
|
||
|
.size e, 4
|
||
|
e:
|
||
|
.word 1076754516
|
||
|
.bss
|
||
|
.align 3
|
||
|
.type _sysy_idx, @object
|
||
|
.size _sysy_idx, 4
|
||
|
_sysy_idx:
|
||
|
.zero 4
|
||
|
.zero 4
|
||
|
.type _sysy_us, @object
|
||
|
.size _sysy_us, 4096
|
||
|
_sysy_us:
|
||
|
.zero 4096
|
||
|
.type _sysy_s, @object
|
||
|
.size _sysy_s, 4096
|
||
|
_sysy_s:
|
||
|
.zero 4096
|
||
|
.type _sysy_m, @object
|
||
|
.size _sysy_m, 4096
|
||
|
_sysy_m:
|
||
|
.zero 4096
|
||
|
.type _sysy_h, @object
|
||
|
.size _sysy_h, 4096
|
||
|
_sysy_h:
|
||
|
.zero 4096
|
||
|
.type _sysy_l2, @object
|
||
|
.size _sysy_l2, 4096
|
||
|
_sysy_l2:
|
||
|
.zero 4096
|
||
|
.type _sysy_l1, @object
|
||
|
.size _sysy_l1, 4096
|
||
|
_sysy_l1:
|
||
|
.zero 4096
|
||
|
.type _sysy_end, @object
|
||
|
.size _sysy_end, 16
|
||
|
_sysy_end:
|
||
|
.zero 16
|
||
|
.type _sysy_start, @object
|
||
|
.size _sysy_start, 16
|
||
|
_sysy_start:
|
||
|
.zero 16
|
||
|
.ident "GCC: (Debian 12.2.0-13) 12.2.0"
|
||
|
.section .note.GNU-stack,"",@progbits
|