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)