カハンの加算アルゴリズム
コンパイラが生成するコードは、最適化により、書かれたプログラムと正確に対応しないのが普通である。コンパイラはプログラムの内容を数式処理的に解析して最適化を施すことがあるが、コンパイラの設計によってはカハンの加算アルゴリズムについて間違った最適化を行なうことがある。例えば、以下のコードについて
コンパイラは、結合法則を適用して以下のように推論することがある。
すると補正がなされなくなる。ただし、一般にコンパイラは浮動小数点演算では近似的にしか結合法則が成り立たないとして、明示的に「安全でない」最適化を指示されないかぎり、このような最適化を行わない。なお、Intel C++ Compiler のようにデフォルトで結合法則を適用した最適化を行うコンパイラもある。