https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Actually here is a simplier testcase: ``` _Bool test1(int a, int b) { return ((a > b) ? a : b) >= a; // return 1; } _Bool test1_(int a, int b) { return a <= ((a > b) ? a : b); // return 1; } ``` Right now test1_ is able to optimize to 1 while test1 is not. but they are both the same.