+ faddp # 2^(x-rint(x))
+ fldt (%esp) # 2^rint(x)
+ fmulp
+ fstp %st(1)
+2: add $12,%esp
+ ret
+
+3: fld %st(0)
+ fstpt (%esp)
+ fld1
+ mov 8(%esp),%ax
+ and $0x7fff,%ax
+ cmp $0x7fff,%ax
+ je 1f # x = +-inf
+ fld %st(1)
+ frndint
+ fxch %st(2)
+ fsub %st(2) # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
+ f2xm1
+ faddp # 2^(x-rint(x))
+1: fscale