https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109901
--- Comment #6 from Richard Yao <richard.yao at alumni dot stonybrook.edu> --- (In reply to Andrew Pinski from comment #1) > bool0 - bool1 == 1 -> bool0 & !bool1 -> bool0 < bool1 > bool0 - bool1 > 0 -> bool0 & !bool1 -> bool0 < bool1 That should be: bool0 - bool1 == 1 -> bool0 & !bool1 -> bool0 > bool1 bool0 - bool1 > 0 -> bool0 & !bool1 -> bool0 > bool1