diff options
author | jkh <jkh@FreeBSD.org> | 1994-08-19 23:52:29 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1994-08-19 23:52:29 +0000 |
commit | d9d09e74e2850794c98f503194e425cd278d8f70 (patch) | |
tree | b0d88cbe8f11ce385364890d116c5332fcc83d66 | |
parent | b2b5a4aef025c79e8d07a889be39e37890b56aca (diff) | |
download | FreeBSD-src-d9d09e74e2850794c98f503194e425cd278d8f70.zip FreeBSD-src-d9d09e74e2850794c98f503194e425cd278d8f70.tar.gz |
Latest fix from jtc:
The fyl2xp1 instruction has such a limited range:
-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
it's not worth trying to use it.
Also, I'm not sure fyl2xp1's extra precision will
matter once the result is converted from extended
real (80 bits) back to double real (64 bits).
Reviewed by: jkh
Submitted by: jtc
-rw-r--r-- | lib/msun/i387/s_log1p.S | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/msun/i387/s_log1p.S b/lib/msun/i387/s_log1p.S index 4f14451..ad511be 100644 --- a/lib/msun/i387/s_log1p.S +++ b/lib/msun/i387/s_log1p.S @@ -35,10 +35,21 @@ #include <machine/asmacros.h> -RCSID("$Id: s_log1p.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_log1p.S,v 1.4 1994/08/19 03:55:57 jtc Exp $") +/* + * The fyl2xp1 instruction has such a limited range: + * -(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1 + * it's not worth trying to use it. + * + * Also, I'm not sure fyl2xp1's extra precision will + * matter once the result is converted from extended + * real (80 bits) back to double real (64 bits). + */ ENTRY(log1p) fldln2 fldl 4(%esp) - fyl2xp1 + fld1 + faddp + fyl2x ret |