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
This commit is contained in:
Jordan K. Hubbard 1994-08-19 23:52:29 +00:00
parent 27774cbbf4
commit e2014c1dcb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=2139

View File

@ -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