多くの Fortran コンパイラは,実行速度を高めたり,生成されたコードに必要なメモリー量を減らすために,コード生成の最適化を実行します。最適化されたプログラムと最適化されていないプログラムの動作の違いは,言語標準の仕様の範囲内に収まりますが,言語標準がカバーしていない分野では異なる動作が生じることがあります。コンパイラの最適化は,特に浮動小数点数の結果に影響を与えます。
Visual Fortran コンパイラは,実行速度と,浮動小数点数の一貫性を高める最適化を実行することができます。最適化レベルの要約については,「最適化レベル:/optimize オプション」と「最適化に関するその他のオプション」を参照してください。
浮動小数点の一貫性とは,IEEE 2 進浮動小数点標準との一貫性がある結果が得られるということです (「/[no]fltconsistency (ia32のみ)」を参照)。
コードを適切に設計していないと,実行速度を最大限に高める最適化を使用したときに,数値結果に問題が生じる可能性があります。/nofltconsistency オプションは,可能な限り,格納された変数よりも高い精度を持つ浮動小数点レジスタを使用します。これは,格納された変数の精度と食い違う結果を生成する傾向があります。/fltconsistency オプション (/Oxp でも設定される) は,文の評価結果を標準データ型の精度に丸めることで,生成されるコードの一貫性を改善することができますが,同時に実行時間を低下させます。