Longley-Rice伝播モデルを実装するためにCとFortranの両方を使用する計算電磁モデリングプログラムを評価しています。最適化なしでコンパイルすると、1セットの数値結果が得られます。-O2スイッチを使用して基本的なパフォーマンスの向上を有効にすると、一部の結果は、最適化を使用しない場合の結果からわずかに変化します。
これは、-fno-unsafe-math-optimizationsスイッチが明示的に設定されているかどうかに関係なく当てはまります(ただし、GNUコンパイラのデフォルトです)。
IEEE FPルールを厳密に順守することになっているときに、基本的な最適化によって数学エラーが発生する原因を知っている人はいますか?