@ -68,21 +68,19 @@ exp:
.type exp2,@function
exp2:
fldl 4(%esp)
1: mov $0x47000000,%eax
push %eax
1: pushl $0x467ff000
flds (%esp)
shl $7,%eax
add %eax,%eax
xorl %eax,%eax
pushl $0x80000000
fld %st(1)
fabs
fucom %st(1)
fnstsw
sahf
ja 2f
fstp %st(0)
fld %st(0)
fistpl 8(%esp)
fildl 8(%esp)
@ -99,22 +97,23 @@ exp2:
add $12,%esp
ret
2: fstp %st(0)
fsts 8(%esp)
mov 8(%esp),%eax
lea (%eax,%eax),%ecx
cmp $0xff000000,%ecx
2: fld %st(0)
fstpt (%esp)
mov 9(%esp),%ah
and $0x7f,%ah
cmp $0x7f,%ah
jne 1f
decb 9(%esp)
xor %ecx,%ecx
inc %ecx
jc 1f
mov $0x7ffe,%ecx
1: mov %ecx,8(%esp)
fldt (%esp)
fmulp
2: add $12,%esp
1: fld %st(0)
frndint
fxch %st(1)
fsub %st(1)
f2xm1
fld1
faddp
fscale
fstp %st(1)