https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90356
--- Comment #3 from ead <no...@turm-lahnstein.de> --- I guess -0.0+0.0=0.0 is the reason we have to add it once. I think there is no need to add 0.0 twice. Btw. compiled with -fno-signed-zeros, the code gets optimized to doit: ret as expected.