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>