One other advantage of signed overflow not listed here -- loop termination. Consider the following loop:<p><pre><code>    for(int i = A; i &lt;= B; i+=4) ...
</code></pre>
This loop can be infinite if overflow is defined, and B is less than 4 from the largest value. Checking for this is a pain (and extra code), and in practice (almost) no-one would ever mean to write this and get an infinite loop when B is close to the top of the integer range.<p>Special case checking for this case is a pain for various kinds of loop unrolling &#x2F; peeling, and also removing empty loops if they don&#x27;t contain any code (which often comes up in practice with C++ templates).