I'm not really a crack at micro-optimizing C code, so can anyone here explain to me why the given function was written in the form it was?<p>Why not something like this:<p><pre><code> int d[16];
int SATD (void)
{
int satd = 0, dd, k;
for (k=0; k<16; ++k) {
dd = d[k];
satd += (dd < 0 ? -dd : dd);
}
return satd;
}
</code></pre>
Does this generate slower code?