|
From: John R. <jr...@Bi...> - 2013-09-24 16:13:44
|
> __float128 exp10(__float128); > > When that routine is called with a negative argument, the return value > changes when I run the code through valgrind, e.g. > > -20 3fbc79ca10c9242235d511e976394d7a (without valgrind) > -20 3fbc79ca10c9240e12445f2000000000 (with valgrind) > > The -20 is the argument for exp10() and was obviously converted to > __float128, and the return value is printed here in hex format. > Initially I thought that the lowest 64 bits were mangled, but from this > example you can see that it is a bit more (the lowest 70 bits differ). This is a bug in memcheck. Please file a bug report. Construct a short test case program (15 lines or so) which reproduces the output above. Then go to the main page http://www.valgrind.org/ , click on the Bug Reports link (left column under Contact), describe the problem (much as above), copy+paste the output, and attach the test case program. Please also include the versions of valgrind, compiler, C/math library, and operating system; and kind of hardware. Thank you. -- |