算術ライブラリー関数の相対誤差を定義します。
bits |
コンパイラーで使用する正しいビット数を示す正の浮動小数点数です。 |
funclist |
属性が適用される 1 つまたは複数の算術ライブラリー関数のリストです (オプション)。複数の関数を指定する場合は、カンマで区切る必要があります。 |
このオプションは、算術ライブラリー関数の結果において、正しいビット数により測定される相対誤差を定義します。
次の数式は、ビットを ulps に変換するのに使用されます: ulps = 2p-1-bits。p はターゲット形式の仮数ビットの数 (24、53、113。順に、単精度、倍精度、4 倍精度) です。
このオプションで実行時のパフォーマンスを向上できますが、結果の精度が低下する可能性があります。
-fimf-precision オプション (Linux* および OS X*) または /Qimf-precision オプション (Windows*)、-fimf-max-error オプション (Linux* および OS X*) または /Qimf-max-error オプション (Windows*)、あるいは -fimf-accuracy-bits オプション (Linux* および OS X*) または /Qimf-accuracy-bits オプション (Windows*) が指定されると、max-error のデフォルト値はそのオプションによって決定されます。 これらのいずれか、または複数のオプションが指定された場合、max-error のデフォルト値はコマンドラインの最後に指定されたオプションにより決定されます。
これらのオプションのいずれも指定されない場合は、max-error のデフォルト値は、-[no-]fast-transcendentals (Linux* および OS X*) または /Qfast-transcendentals[-] (Windows*) で指定された設定により決定されます。 これらのオプションも指定されない場合は、デフォルト値は -fp-model (Linux* および OS X*) または /fp (Windows*) により決定されます。
LIBM (算術ライブラリー) および SVML (Short Vector Math Library) ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。