HP-UX Floating-Point Guide

Chapter 4 113
HP-UX Math Libraries on HP 9000 Systems
Contents of the HP-UX Math Libraries
acos
asin
atan
atan2
cos (single-precision also)
exp
log (single-precision also)
log10
pow
sin (single-precision also)
tan (single-precision also)
Millicode versions exist for the following Pascal functions:
arctan
cos
exp
ln
sin
To get the millicode versions of any of these functions, compile your
program with
Any optimization level (0 through 4)
The +Olibcalls or the +Oaggressive optimization option
With the f90 and f77 compiler commands, the +Olibcalls option is
the default at optimization level 2 and above.
The +Olibcalls option is invoked by default when you specify the
optimization type +Oaggressive; use +Oaggressive +Onolibcalls
if you want aggressive optimization without using millicode routines.
The millicode versions of functions do not provide standard-conforming
error handling. This has different implications for different languages. In
C programs, if an error occurs, the millicode versions return the same
values as their standard library counterparts, but they do not set errno.
Because the C and Pascal standards specify error handling for library
functions, you should use millicode versions in C and Pascal programs
only if your program does not require standard-conforming error
handling. The Fortran standards do not specify error handling for math
intrinsic functions, so using the millicode versions has no effect on
standards compliance. See “Optimizing Your Program” on page 171 for
more information about optimization options.