Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 May 2000 09:30:21 -0700 (PDT)
From:      Stefan Neis <neis@cdc.informatik.tu-darmstadt.de>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: i386/18560: libm's log1p not working as designed on Intel architectures.
Message-ID:  <200005201630.JAA53245@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/18560; it has been noted by GNATS.

From: Stefan Neis <neis@cdc.informatik.tu-darmstadt.de>
To: Bruce Evans <bde@zeta.org.au>
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: i386/18560: libm's log1p not working as designed on Intel
 architectures.
Date: Sat, 20 May 2000 18:27:53 +0200 (MET DST)

 	Hi,
 
 > This is only an efficient bug under FreeBSD.  log1p.S is too broken to
 > use, so FreeBSD doesn't use it:
 > 
 > You can find a correct version in glibc (version 2.1.1. at least).
 
 I see.
 
 > (Inlining acos doesn't help
 > much because the inlined code is quite large and slow;
 
 Interesting. I was under the impression that the inlined code is rather
 small. :-? 
 
         double acos_inline(double x)
 {
         register double z;
         asm("fmul":  "=t" (z) : "0" (1+x), "u" (1-x) );
         asm("fsqrt": "=t" (z) : "0" (z) );
         asm("fpatan": "=t" (z) : "0" (1.0), "u" (z) );
         if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
         if(fabs(x)>1.0) {
                 return __kernel_standard(x,x,1); /* acos(|x|>1) */
         } else
             return z;
 }
 
 Anyway, thanks for taking the time to answer a not strictly BSD related
 question.
 
 	Regards,
 		Stefan
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005201630.JAA53245>