Alexander Monakov schrieb: > This transformation is indeed included into -ffast-math. I checked with > > $ gcc --version > gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) > > and it does eliminate the calculation. What does generated assembly code look > like in your case? Note you may as well check on this code: > > double f(double a, double c) > { > return c - (c - a); > } That's interesting. After your answer I checked with a gcc from Fedora Core (Werewolf) and this removes it also. It seems like a backported enhancement from vanilla gcc, version 4.3.0 does it as well. Cheers, Christian -- Christian Keil /"\ Institute for Reliable Computing \ / ASCII Ribbon Campaign Hamburg University of Technology X against HTML email & vCards mail:c.keil@xxxxxxxxxxxxx / \