I don’t think these results mean much. Take a look: <a href="https://godbolt.org/z/Wd98eG" rel="nofollow">https://godbolt.org/z/Wd98eG</a><p>When asked to divide 2 float numbers by another 2 numbers, clang compiler used division instruction for 4-wide vectors (for 32-bit floats, modern hardware only implements 4-wide and 8-wide vectors), that code runs 0.0 / 0.0 in the unused higher 2 lanes.<p>That code is correct (we only want 2 lower lanes, and the result there is good), but FPSpy would then show these red lights for that software.
Regarding the "inexact results", how do we know that the application authors didn't take those into account while analyzing their algorithms? If you know that your end result is accurate enough, you don't need to care about those.
You don't need anything special to say you have relevant exceptions. GCC with a benchmark set currently in progress (which has other problems):<p>Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG<p>The "inexact" exception message you got at the end of essentially anything on SunOS at one time was quite annoying. (I can't remember whether that was specific to the SunPro compiler.) Fortran provides control over this with IEEE_ARITHMETIC, but I don't remember whether that's actually part of the standard.
LD_PRELOAD strikes again! I learned about LD_PRELOAD last year from another HN post, and I'm not saying it's a silver bullet for instrumenting binaries on Linux, but it does seem to come in handy.<p>Edit: a SO question about "the LD_PRELOAD trick":
<a href="https://stackoverflow.com/questions/426230/what-is-the-ld-preload-trick" rel="nofollow">https://stackoverflow.com/questions/426230/what-is-the-ld-pr...</a>
Wow. Kudos to Adrian for finding this pearl [0]. Source code (non-commercial use license): [1].<p>[0] <a href="http://pdinda.org/Papers/hpdc20.pdf" rel="nofollow">http://pdinda.org/Papers/hpdc20.pdf</a><p>[1] <a href="http://presciencelab.org/FPSpy/fpspy-1.0.tgz" rel="nofollow">http://presciencelab.org/FPSpy/fpspy-1.0.tgz</a>