fix exp asm
authorRich Felker <dalias@aerifal.cx>
Tue, 20 Mar 2012 01:55:53 +0000 (21:55 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 20 Mar 2012 01:55:53 +0000 (21:55 -0400)
commitacb744921b73f5a73803e533e5e4a4896d164a26
tree2cdfcd2dc29d4d3041af99958215871ae5c900b6
parent01084202815fefbb7db23825d8b11a570c455e13
fix exp asm

exponents (base 2) near 16383 were broken due to (1) wrong cutoff, and
(2) inability to fit the necessary range of scalings into a long
double value.

as a solution, we fall back to using frndint/fscale for insanely large
exponents, and also have to special-case infinities here to avoid
inf-inf generating nan.

thankfully the costly code never runs in normal usage cases.
src/math/i386/exp.s