GNU MP assertion failed: T(1)+std::numeric_limits<double>::denorm_min()>1

roger golliver roger.a.golliver at
Tue Sep 9 18:54:49 UTC 2014

To Jens,

I like to use "-fp-model precise" because currently it addresses both the
expression evaluation issue and disables Intel Compiler's default use of
flush-to-zero mode.  While "-fp-model source" could still allow some non-C
standard conforming optimizations and doesn't explicitly disable -ftz.

To Torbjörn;

I expect that all Intel Compiler supported platforms, Xeon, MIC, ... are
affected, as well as Itanium. But, I've only had recent experience with
Xeon in x86_64 mode.  Also, for GMP I would not expect "-fp-model precise"
to impact performance negatively, because the GMP library designed to
use carefully optimized (assembly) language kernels.

When using the Intel Compiler to build GMP, it might be best to include
both the "-fp-model precise" and the "-no-ftz" compiler switches.  That
would better protect GMP from possible future changes in the definition of
"-fp-model precise", as I don't think it is a documented feature that
"-fp-model precise" sets "-no-ftz" and "-fp-model source" doesn't.


More information about the gmp-bugs mailing list