https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79095
--- Comment #4 from Jeffrey A. Law <law at redhat dot com> --- So the simplified tests are interesting, but ultimately too simplified. The VRP prototype which works on the simplified testcases doesn't work on the real testcase for this BZ. The key sequences look like: _13 = (long unsigned int) _12; _121 = ADD_OVERFLOW (_13, 18446744073709551615); _1 = REALPART_EXPR <_121>; _39 = IMAGPART_EXPR <_121>; if (_1 > _13) goto <bb 4>; [29.56%] else goto <bb 18>; [70.44%] Which defeat the simplistic prototype for VRP. It's essentially still the same construct, but we'd have to extract stuff out of the COMPLEX_EXPR and recognize the ADD_OVERFLOW.