------- Comment #7 from burnus at gcc dot gnu dot org 2007-04-27 12:41 ------- > (float) time for 1.0 / sqrt = 5.96 sec (res = 2.8450581250000000e+05) > (float) time for rsqrt = 2.49 sec (res = 2.2360225000000000e+05) > (double) time for 1.0 / sqrt = 7.35 sec (res = 5.9926234364635509e+05) > (double) time for rsqrt = 7.49 sec (res = 5.9926234364355623e+05)
On an Athlon 64 2x, the double result is more favourable for rsqrt (using the system g++ 4.1.2 with g++ -march=opteron -O3 -ftree-vectorize -funroll-loops -funit-at-a-time -msse3 frsqrt.cc; similarly with -ffast-math) (float) time for 1.0 / sqrt = 3.76 sec (res = 1.7943843750000000e+05) (float) time for rsqrt = 1.72 sec (res = 1.7943843750000000e+05) (double) time for 1.0 / sqrt = 5.15 sec (res = 5.9926234364320245e+05) (double) time for rsqrt = 3.34 sec (res = 5.9926234364320245e+05) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31723