Math Libraries Overview

The libimf.a is the math library provided by Intel and libm.a is the math library provided with gcc*.  Both of these libraries are linked in by default on IA-32 and Itanium(TM) compilers.  Both libraries are linked in because there are math functions supported by the GNU math library that are not in the Intel math library. This linking arrangement allows for all functions GNU users have available to them to be available when using ifc (or efc), with Intel optimized versions available when supported. libimf.a is linked in before libm.a. If you link in libm.a first, it will change the versions of the math functions that are used.

It is recommended that you place libimf.a and libm.a in the first directory specified in the LD_LIBRARY_PATH variable. The libimf.a and libm.a libraries are always linked with Fortran programs.

For example, if you place a library in directory /perform/, set the LD_LIBRARY_PATH variable to specify a list of directories, containing all other libraries, separated by semicolons.

For IA-32 Compiler, libm.a contains both generic math routines and versions of the math routines optimized for special use with the Intel® Pentium® 4 and Xeon(TM) processors. For Itanium(TM) Compiler, libm.a is optimized for for the use with Itanium architecture.