https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71632
--- Comment #4 from amker at gcc dot gnu.org --- As in optimized dump: <bb 2>: c.1_1 = c; _85 = *c.1_1; _87 = *_85; iftmp.0_88 = d_27(D) < _87 ? 1.0e+0 : 0.0; _90 = MEM[(double *)_85 + 8B]; iftmp.0_91 = iftmp.0_88 < _90 ? 1.0e+0 : 0.0; _93 = MEM[(double *)_85 + 16B]; iftmp.0_94 = iftmp.0_91 < _93 ? 1.0e+0 : 0.0; _96 = MEM[(double *)_85 + 24B]; iftmp.0_97 = iftmp.0_94 < _96 ? 1.0e+0 : 0.0; _99 = MEM[(double *)_85 + 32B]; iftmp.0_100 = iftmp.0_97 < _99 ? 1.0e+0 : 0.0; _110 = MEM[(double * *)c.1_1 + 8B]; _112 = *_110; iftmp.0_113 = iftmp.0_100 < _112 ? 1.0e+0 : 0.0; _115 = MEM[(double *)_110 + 8B]; iftmp.0_116 = iftmp.0_113 < _115 ? 1.0e+0 : 0.0; _118 = MEM[(double *)_110 + 16B]; iftmp.0_119 = iftmp.0_116 < _118 ? 1.0e+0 : 0.0; _121 = MEM[(double *)_110 + 24B]; iftmp.0_122 = iftmp.0_119 < _121 ? 1.0e+0 : 0.0; _124 = MEM[(double *)_110 + 32B]; iftmp.0_125 = iftmp.0_122 < _124 ? 1.0e+0 : 0.0; _135 = MEM[(double * *)c.1_1 + 16B]; _137 = *_135; iftmp.0_138 = iftmp.0_125 < _137 ? 1.0e+0 : 0.0; _140 = MEM[(double *)_135 + 8B]; iftmp.0_141 = iftmp.0_138 < _140 ? 1.0e+0 : 0.0; _143 = MEM[(double *)_135 + 16B]; iftmp.0_144 = iftmp.0_141 < _143 ? 1.0e+0 : 0.0; _146 = MEM[(double *)_135 + 24B]; iftmp.0_147 = iftmp.0_144 < _146 ? 1.0e+0 : 0.0; _149 = MEM[(double *)_135 + 32B]; iftmp.0_150 = iftmp.0_147 < _149 ? 1.0e+0 : 0.0; _160 = MEM[(double * *)c.1_1 + 24B]; _162 = *_160; iftmp.0_163 = iftmp.0_150 < _162 ? 1.0e+0 : 0.0; _165 = MEM[(double *)_160 + 8B]; iftmp.0_166 = iftmp.0_163 < _165 ? 1.0e+0 : 0.0; _168 = MEM[(double *)_160 + 16B]; iftmp.0_169 = iftmp.0_166 < _168 ? 1.0e+0 : 0.0; _171 = MEM[(double *)_160 + 24B]; iftmp.0_172 = iftmp.0_169 < _171 ? 1.0e+0 : 0.0; _174 = MEM[(double *)_160 + 32B]; iftmp.0_175 = iftmp.0_172 < _174 ? 1.0e+0 : 0.0; _185 = MEM[(double * *)c.1_1 + 32B]; _187 = *_185; iftmp.0_188 = iftmp.0_175 < _187 ? 1.0e+0 : 0.0; _190 = MEM[(double *)_185 + 8B]; iftmp.0_191 = iftmp.0_188 < _190 ? 1.0e+0 : 0.0; _193 = MEM[(double *)_185 + 16B]; iftmp.0_194 = iftmp.0_191 < _193 ? 1.0e+0 : 0.0; _196 = MEM[(double *)_185 + 24B]; iftmp.0_197 = iftmp.0_194 < _196 ? 1.0e+0 : 0.0; _199 = MEM[(double *)_185 + 32B]; iftmp.0_200 = iftmp.0_197 < _199 ? 1.0e+0 : 0.0; _5 = MEM[(double * *)c.1_1 + 40B]; _29 = *_5; iftmp.0_64 = _29 > iftmp.0_200 ? 1.0e+0 : 0.0; _45 = MEM[(double *)_5 + 8B]; iftmp.0_23 = _45 > iftmp.0_64 ? 1.0e+0 : 0.0; _14 = MEM[(double *)_5 + 16B]; iftmp.0_16 = _14 > iftmp.0_23 ? 1.0e+0 : 0.0; _74 = MEM[(double *)_5 + 24B]; iftmp.0_75 = iftmp.0_16 < _74 ? 1.0e+0 : 0.0; _9 = MEM[(double *)_5 + 32B]; iftmp.0_22 = _9 > iftmp.0_75 ? 1.0e+0 : 0.0; b = 5; a = 6; MEM[(double *)_85 + 40B] = iftmp.0_22; return; Every iftmp definition uses the previous one.