Adding +x to -x should result in a hardware zero. But in this small gaussian integration routine, .6^3 + -.6^3 is not zero. When the same computation is done inline, it works. This may be due to the hardware rounding properties, but given that the integration routine is inline, I wouldn't see why it would behave differently than the physically inline code. It's at the very least weird. My apologies if this isn't a bug.
-- Summary: odd roundoff behavior (may be due to 80-bit vs. 64-bit behavior? Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dkruger at stevens dot edu GCC host triplet: i686-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31789