On Thursday, 28 August 2014 at 12:10:58 UTC, Ola Fosheim Grøstad
wrote:
Or to be more explicit:
If have SNAN then there is no point in trying to recompute the
expression using a different algorithm.
If have QNAN then you might want to recompute the expression
using a different algorithm (e.g. complex numbers or
analytically).
?
No. Once you load an SNAN, it isn't an SNAN any more! It is a
QNAN.
You cannot have an SNAN in a floating-point register (unless you
do a nasty hack to pass it in). It gets converted during loading.
const float x = snan;
x = x;
// x is now a qnan.