http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56321
--- Comment #6 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2013-02-14 20:11:32 UTC --- Odd. Reassociation makes a correct and profitable transformation into foo (int n) { double _2; double _5; double _6; double _7; double _8; float _9; <bb 2>: _2 = (double) n_1(D); _6 = _2 * 6.6666666666666662965923251249478198587894439697265625e-1; _7 = _6 + 2.0e+0; _5 = _7 * _2; _8 = _5; _9 = (float) _8; return _9; } but somehow verify_ssa() thinks the last statement (return _9;) contains a use of the undefined SSA name _4. Will continue to investigate later.