https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57009
--- Comment #2 from Andrew Pinski ---
(In reply to Marc Glisse from comment #1)
> union A { double d; unsigned long long i; };
> bool f(double x){
> A a; a.d = x;
> unsigned long long inf = 0x7ff0;
> return (a.i & inf) != inf;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57009
--- Comment #1 from Marc Glisse glisse at gcc dot gnu.org 2013-04-20 13:00:48
UTC ---
At least in the case where a constant is involved, it would probably be
necessary to look at how the result is used (makes it much harder). If it is
used