Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jul 2001 13:58:54 -0500
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        jmcoopr@webmail.bmi.net, Jim.Pirzyk@disney.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: math library difference between linux emulation and native freebsd  (and native linux)
Message-ID:  <3B50966E.1D6E5DCC@math.missouri.edu>
References:  <200107141819.LAA06370@smtp.bmi.net> <3B508F8F.1AB674C6@math.missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Yes, I tried out the program

#include <stdio.h>
#include <math.h>
main() {
  double x,y;
  int i;

  x = 53.278500;
  y = exp(x);
  printf("%8lf\n",x);
  for(i=0;i<sizeof(double);i++)
    printf("%x ",((unsigned char*)(&x))[i]);
  printf("\n");
  printf("%8lf\n",y);
  for(i=0;i<sizeof(double);i++)
    printf("%x ",((unsigned char*)(&y))[i]);
  printf("\n");
}

On FreeBSD and Linux I get
53.278500
cf f7 53 e3 a5 a3 4a 40 
137581029243568449912832.000000
e7 7d 89 54 48 22 bd 44 

and on Linux emulation under FreeBSD I get
53.278500
cf f7 53 e3 a5 a3 4a 40 
137581029243567812378624.000000
c1 7d 89 54 48 22 bd 44 

I don't really know the format of IEEE very well, but it looks like some
low order bits are different - the answers are really different.

I also tried the same experiment with sin and gamma - then the problem
does not occur.  Well except that the answer for gamma(53.278500) is
reported as 157.464664 which is way wrong.

When I tried it for x=52 they gave almost the same answer, only
seperated by the last bit (the decimal versions were reported as the
same).  For x=54 they both gave the same wrong answer 160.331128.

I don't know a whole lot about IEEE.  What is the largest number it is
supposed to handle?  Looking at man math it says it should handle
numbers as large as 1.8e308 - we certainly are not in that range!!!

-- 
Stephen Montgomery-Smith
stephen@math.missouri.edu
http://www.math.missouri.edu/~stephen

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?3B50966E.1D6E5DCC>