------- Comment #2 from pinskia at gcc dot gnu dot org 2008-09-05 22:54 ------- I think this is really PR 323. Using -ffloat-store gives the correct answer. D.2639 = pow ((double) a, (double) b + 1.0e+0); num = (ull) D.2639 - 1.0e+0;
So I don't know what else to say, except -ffloat-store or use -mfpmath=sse. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37390