freebsd-src/lib/msun/i387
Bruce Evans 487ddb8fa4 Compute (1 - x^2) as ((1 - x) * (1 + x)) instead of as (1 - x * x) to
avoid easily avoidable loss of precision when |x| is nearly 1.

Extended (64-bit) precision only moves the meaning of "nearly" here.

This probably could be done better by splitting up the range into
|x| <= 0.5 and |x| > 0.5 like the C version.  However, ucbtest
does't report any errors in this version.  Perhaps the C version
should be used anyway.  It's only 25% slower now on a P5, provided
the C version of sqrt() isn't used, and the C version could be
optimized better.

Errors checked by:	ucbtest
1997-02-20 12:37:49 +00:00
..
e_acos.S Compute (1 - x^2) as ((1 - x) * (1 + x)) instead of as (1 - x * x) to 1997-02-20 12:37:49 +00:00
e_asin.S Compute (1 - x^2) as ((1 - x) * (1 + x)) instead of as (1 - x * x) to 1997-02-20 12:37:49 +00:00
e_atan2.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_exp.S Fixed the i87 version of exp(). It returned NaN for args +-Inf. It had 1997-02-16 17:38:11 +00:00
e_fmod.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_log10.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_log.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_remainder.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_scalb.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
e_sqrt.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_atan.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_ceil.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_copysign.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_cos.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_finite.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_floor.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_ilogb.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_log1p.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_logb.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_rint.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_scalbn.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_significand.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_sin.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00
s_tan.S Make the long-awaited change from $Id$ to $FreeBSD$ 1997-01-14 07:20:47 +00:00