https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106455
--- Comment #2 from Andreas Schwab <sch...@linux-m68k.org> --- negative && !other_negative is definitely easier to understand than negative > other_negative. In fact, given the condition negative != other_negative, negative already implies !other_negative, so this can be simplified to just if (negative != other_negative) return negative.