summaryrefslogtreecommitdiffstats
path: root/lib/msun
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-08-19 23:52:29 +0000
committerjkh <jkh@FreeBSD.org>1994-08-19 23:52:29 +0000
commitd9d09e74e2850794c98f503194e425cd278d8f70 (patch)
treeb0d88cbe8f11ce385364890d116c5332fcc83d66 /lib/msun
parentb2b5a4aef025c79e8d07a889be39e37890b56aca (diff)
downloadFreeBSD-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
Diffstat (limited to 'lib/msun')
-rw-r--r--lib/msun/i387/s_log1p.S15
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
OpenPOWER on IntegriCloud