9 # subnormal x, return x with underflow
16 .type expm1l,@function
29 # subnormal x, return x with underflow
43 # x*log2e < -65, return -1 without underflow
103 jae 3f # |x| >= 32768
105 cmpl $0xc67ff800,(%esp)
107 movl $0x5f000000,(%esp)
115 je 2f # x - 0x1p63 + 0x1p63 == x
117 flds (%esp) # 0x1p-149
119 fstps (%esp) # raise underflow
124 fsub %st(2) # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
126 faddp # 2^(x-rint(x))
132 4: cmp $0x3fff-64,%ax
134 jb 1b # |x| < 0x1p-64
142 faddp # 2^(x-rint(x))
143 fldt (%esp) # 2^rint(x)