Problems with smart compilers

  1. If the result of the computation is not used, the compiler may eliminate the code
  2. Performance will look impossibly fantastic
  3. Even worse, eliminate some of the code so the performance looks plausible
  4. Ensure that the results are (or may be) used.