Compiler [Typechecker]: Workaround for gcc optimization of signed overflow The expression "(min1 > max2) && (min1 > max2 + 1)" got optimized into "(min1 > max2 + 1)" by gcc, because of min1 is larger than max2 + 1, then it clearly must be larger than max2 as well... Except when max2 + 1 is a signed overflow. So explicitly check for that instead and hope gcc doesn't optimize away that check as well...