Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

fast-transcendentals, Qfast-transcendentals

Enables the compiler to replace calls to transcendental functions with faster but less precise implementations.

Syntax

Linux:

-fast-transcendentals

-no-fast-transcendentals

macOS:

-fast-transcendentals

-no-fast-transcendentals

Windows:

/Qfast-transcendentals

/Qfast-transcendentals-

Arguments

None

Default

depends on the setting of -fp-model (Linux* and macOS) or /fp (Windows*)

If you do not specify option -[no-]fast-transcendentals or option /Qfast-transcendentals[-]:

  • The default is ON if option -fp-model fast or /fp:fast is specified or is in effect.

  • The default is OFF if a value-safe setting is specified for -fp-model or /fp (such as "precise", "source", etc.).

Description

This option enables the compiler to replace calls to transcendental functions with implementations that may be faster but less precise.

It allows the compiler to perform certain optimizations on transcendental functions, such as replacing individual calls to sine in a loop with a single call to a less precise vectorized sine library routine. These optimizations can cause numerical differences that would not otherwise exist if you are also compiling with a value-safe option such as -fp-model precise (Linux* and macOS*) or /fp:precise (Windows).

For example, you may get different results if you specify option O0 versus option O2, or you may get different results from calling the same function with the same input at different points in your program. If these kinds of numerical differences are problematic, consider using option -fimf-use-svml (Linux* and macOS*) or /Qimf-use-svml (Windows) as an alternative. When used with a value-safe option such as -fp-model precise or /fp:precise, option -fimf-use-svml or /Qimf-use-svml provides many of the positive performance benefits of [Q]fast-transcendentals without negatively affecting numeric consistency. For more details, see the description of option -fimf-use-svml and /Qimf-use-svml.

This option does not affect explicit Short Vector Math Library (SVML) intrinsics. It only affects scalar calls to the standard math library routines.

You cannot use option -fast-transcendentals with option -fp-model strict and you cannot use option /Qfast-transcendentals with option /fp:strict.

This option determines the setting for the maximum allowable relative error for math library function results (max-error) if none of the following options are specified:

  • -fimf-accuracy-bits (Linux* and macOS) or /Qimf-accuracy-bits (Windows*)

  • -fimf-max-error (Linux and macOS) or /Qimf-max-error (Windows)

  • -fimf-precision (Linux and macOS) or /Qimf-precision (Windows)

This option enables extra optimization that only applies to Intel® processors.

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.

Notice revision #20201201

IDE Equivalent

None

Alternate Options

None

See Also