Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jul 2001 11:17:40 -0700
From:      jmcoopr@webmail.bmi.net
To:        Jim.Pirzyk@disney.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: math library difference between linux emulation and native freebsd (and native linux)
Message-ID:  <200107141819.LAA06370@smtp.bmi.net>
In-Reply-To: <200107141809.f6EI9M809946@snoopy.fan.fa.disney.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In <200107141809.f6EI9M809946@snoopy.fan.fa.disney.com>, on 07/14/2001 
   at 11:09 AM, Jim.Pirzyk@disney.com said:

>So I have stumbled across a linux emulation bug in freebsd.  Below is
>the program that returns different results based on FreeBSD, Linux or
>Linux emulation under FreeBSD.

>Running natively under FreeBSD:

>x = 53.27850000
>exp(x) = 137581029243568449912832.00000000

>Running natively under Linux:

>x = 53.278500
>exp(x) = 137581029243568449912832.000000

>Running under FreeBSD in Linux emulation mode:

>x = 53.27850000
>exp(x) = 137581029243567812378624.00000000


>#include <stdio.h>
>#include <math.h>
>#include <stdlib.h>

>int main (int argc, char **argv) {
>     double x = 53.278500;

>     printf ("x = %8lf\n", x);
>     printf ("exp(x) = %8lf\n", exp(x));

>     exit (0);
>}

>There are only two shared libaries in common (libc and libm) and both
>are the same on FreeBSD (in /compat/linux) and Linux.

>So any ideas on where the program is going wrong?

>- JimP

My guess is difference between Linux emulation and "native" 's floating
point formatting for printf.  With the number of significant digits
you're invoking, small differences in handling low order bits can be
significant.

jmc
 
------------------------------------------------------
jmcoopr@webmail.bmi.net

Using OS/2 since 1.0
------------------------------------------------------


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




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