https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66613
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |miyuki at gcc dot gnu.org --- Comment #2 from Mikhail Maltsev <miyuki at gcc dot gnu.org> --- Presumably, the problem is the difference in precision. But what is "run_C99.bat"? And what platform do you use? With current GCC 4.8 branch (x86_64-linux) I get the following result: $ /opt/gcc-4.8-latest/bin/gcc -std=c99 -lquadmath -lm ./test.c -o test_c99 && ./test_c99 /**********************************************************************/ SECTION 1 _Complex float zF = 1.F + 2.Fi ; crealf(cexpf(zF)) = -1.131204 cimagf(cexpf(zF)) = 2.471727 _Complex double zD = 1.D + 2.Di ; creal(cexp(zD)) = -1.131204E+00 cimag(cexp(zD)) = 2.471727E+00 creal(cexp(1.D + 2.Di)) = -1.131204 cimag(cexp(1.D + 2.Di)) = 2.471727 _Complex long double zL = 1.L + 2.Li creall(cexpl(zL)) = -3.177877E-189 cimagl(cexpl(zL)) = -3.177877E-189 creall(cexpl(1.L + 2.Li)) = -0.000000 cimagl(cexpl(1.L + 2.Li)) = -0.000000 __complex128 zQ = 1.Q + 2.Qi crealq(cexpq(zQ)) = 0.000000 cimagq(cexpq(zQ)) = 0.000000 /**********************************************************************/ SECTION 2 alfa = 0.33333334326744079589843750000000000000000000000000000000000000000000000000000000 sizeof(alfa)) = 4 1.f/3.f = 0.33333334326744079589843750000000000000000000000000000000000000000000000000000000 sizeof(1.f/3.f)) = 4 /**********************************************************************/ It is possible that the problem is specific to 4.8.1, but I don't have it installed right now. If someone has, could you check it please.