&gt; <i>a pathological C compiler</i><p>I had the same opinion at first and would agree if UB was mostly possible to avoid in meaningful programs, but it isn&#x27;t. The main casualty would be the reason why this is being discussed at all: compilers need to make very specific assumptions on UB to enable some optimizations and if UB goes away, so do the optimizations. So we get the performance of the &quot;boring&quot; compiler anyway, just with more effort on behalf of the programmer.<p>DJB is (as always, I guess) right, C simply isn&#x27;t really suited to optimizations based on UB. What&#x27;d be the big deal if compiler developers just stopped inflicting these on C programmers and focused on optimizing compilers for better-defined languages (with range types, specified overflow behavior etc.) instead?