Contents    Page-10    Prev    Next    Page+10    Index   

Correctness of Optimization

Optimization must never introduce compiler-generated errors! A program that runs faster but produces incorrect results is not an improvement.

There are often cases where an optimization will nearly always be correct.

   if ( x * n == y * n ) ...
might be optimized to:

   if ( x == y ) ...
Is this correct?

In general, one must be able to prove that an optimized program will always produce the same result.