https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63445
--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Visiting statement: j_14 = ASSERT_EXPR <j_5(D), j_5(D) > i_13>; Intersecting [i_13 + 1, +INF] EQUIVALENCES: { j_5(D) } (1 elements) and VARYING to [i_13 + 1, +INF] EQUIVALENCES: { j_5(D) } (1 elements) Found new range for j_14: [i_13 + 1, +INF] Visiting statement: [test.c : 7:26] _6 = j_14 - i_13; Found new range for _6: [1, +INF(OVF)] It is not clear why the OVF is set in the range.