https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Though, that expression looks weird, on the testcase it is clear that if i is >= 0 (not -1!), then c must be 0, because otherwise the innermost loop must invoke undefined behavior, and deriving anything about number of iterations from the b[h] = 0; assignment in the upper loop is wrong, because the innermost loop can (and must be) iterated 0 times.