Sure it does. A big part of optimization is specializing code to be fast by removing unimportant bits.<p>Here&#x27;s a quick bad example:<p><pre><code>    int computation(int *a, int *b) {
        if(a == NULL &amp;&amp; b == NULL) return 0;
        if(a == NULL) return *b;
        if(b == NULL) return *a;
        return ...something with *a and *b...;
    }

    ...elsewhere...
    int a[1024];
    int b[1024];
    ...fetch data into a and b...
    int c[1024];
    for(int i = 0; i &lt; 1024; i++)
        c = computation(a + i, b + i);
</code></pre>
Would you want this code, compiled with full optimizations, to run slowly because it does four NULL checks every time through the loop? A good compiler will probably inline the computation and eliminate all the checks because the condition they&#x27;re checking for can never happen. Is that a bad thing?