https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118154
--- Comment #4 from Patrick O'Neill <patrick at rivosinc dot com> --- (In reply to Robin Dapp from comment #3) > Uh, what a nice small test case ;) I'll have a look when I'm back mid next > week. With a bit more handholding of creduce/cvise: long a; char b; char c[22][484]; int main() { for (int e = 4; e < 33; e++) { for (int f = 0; f < 3; f++) for (int g = 0; g < 18; g++) { c[f][g * 22] = 1; a = ({ a > 1 ? a : 1; }); } for (int i = 0; i < 33; i++) for (int h = 0; h < 6; h++) for (int j = 0; j < 17; j++) b = ({ b > 17 ? b : 17; }); } if (c[1][44] != 1) return 1; } Still complex but a few less iterations :-/