The correct answer to the level of accuracy you quote is: 
137581029243568295877658.36934931

Both are correct to about 15 sig figs, which is about what the precision
of IEEE double precision arithmetic is supposed to be.

[EMAIL PROTECTED] wrote:
> 
> 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
> --
> --- @(#) $Id: dot.signature,v 1.10 2001/05/17 23:38:49 Jim.Pirzyk Exp $
>     __o   [EMAIL PROTECTED] ------------- [EMAIL PROTECTED]
>  _'\<,_   Senior Systems Engineer, Walt Disney Feature Animation
> (*)/ (*)
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message

-- 
Stephen Montgomery-Smith
[EMAIL PROTECTED]
http://www.math.missouri.edu/~stephen

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to