Date: Thu, 20 Feb 1997 04:37:54 -0800 (PST) From: Bruce Evans <bde> To: CVS-committers, cvs-all, cvs-lib Subject: cvs commit: src/lib/msun/i387 e_acos.S e_asin.S Message-ID: <199702201237.EAA09916@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 97/02/20 04:37:52 Modified: lib/msun/i387 e_acos.S e_asin.S Log: 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 Revision Changes Path 1.4 +12 -6 src/lib/msun/i387/e_acos.S 1.4 +11 -5 src/lib/msun/i387/e_asin.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702201237.EAA09916>