9 # subnormal x, return x with underflow
19 .type expm1l,@function
32 # subnormal x, return x with underflow
49 # x*log2e < -65, return -1 without underflow
109 jae
3f
# |x| >= 32768
111 cmpl $
0xc67ff800,(%esp
)
113 movl $
0x5f000000,(%esp
)
121 je
2f
# x - 0x1p63 + 0x1p63 == x
123 flds
(%esp
) # 0x1p-149
125 fstps
(%esp
) # raise underflow
130 fsub %st(2) # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
132 faddp
# 2^(x-rint(x))
138 4: cmp $
0x3fff-64,%ax
140 jb
1b # |x| < 0x1p-64
148 faddp
# 2^(x-rint(x))
149 fldt
(%esp
) # 2^rint(x)