(libc.info.gz) Errors in Math Functions
Info Catalog
(libc.info.gz) Special Functions
(libc.info.gz) Mathematics
(libc.info.gz) Pseudo-Random Numbers
19.7 Known Maximum Errors in Math Functions
===========================================
This section lists the known errors of the functions in the math
library. Errors are measured in "units of the last place". This is a
measure for the relative error. For a number z with the representation
d.d...d*2^e (we assume IEEE floating-point numbers with base 2) the ULP
is represented by
|d.d...d - (z / 2^e)| / 2^(p - 1)
where p is the number of bits in the mantissa of the floating-point
number representation. Ideally the error for all functions is always
less than 0.5ulps in round-to-nearest mode. Using rounding bits this is
also possible and normally implemented for the basic operations. Except
for certain functions such as 'sqrt', 'fma' and 'rint' whose results are
fully specified by reference to corresponding IEEE 754 floating-point
operations, and conversions between strings and floating point, the GNU
C Library does not aim for correctly rounded results for functions in
the math library, and does not aim for correctness in whether "inexact"
exceptions are raised. Instead, the goals for accuracy of functions
without fully specified results are as follows; some functions have bugs
meaning they do not meet these goals in all cases. In future, the GNU C
Library may provide some other correctly rounding functions under the
names such as 'crsin' proposed for an extension to ISO C.
* Each function with a floating-point result behaves as if it
computes an infinite-precision result that is within a few ulp (in
both real and complex parts, for functions with complex results) of
the mathematically correct value of the function (interpreted
together with ISO C or POSIX semantics for the function in
question) at the exact value passed as the input. Exceptions are
raised appropriately for this value and in accordance with IEEE 754
/ ISO C / POSIX semantics, and it is then rounded according to the
current rounding direction to the result that is returned to the
user. 'errno' may also be set ( Math Error Reporting).
* For the IBM 'long double' format, as used on PowerPC GNU/Linux, the
accuracy goal is weaker for input values not exactly representable
in 106 bits of precision; it is as if the input value is some value
within 0.5ulp of the value actually passed, where "ulp" is
interpreted in terms of a fixed-precision 106-bit mantissa, but not
necessarily the exact value actually passed with discontiguous
mantissa bits.
* Functions behave as if the infinite-precision result computed is
zero, infinity or NaN if and only if that is the mathematically
correct infinite-precision result. They behave as if the
infinite-precision result computed always has the same sign as the
mathematically correct result.
* If the mathematical result is more than a few ulp above the
overflow threshold for the current rounding direction, the value
returned is the appropriate overflow value for the current rounding
direction, with the overflow exception raised.
* If the mathematical result has magnitude well below half the least
subnormal magnitude, the returned value is either zero or the least
subnormal (in each case, with the correct sign), according to the
current rounding direction and with the underflow exception raised.
* Where the mathematical result underflows and is not exactly
representable as a floating-point value, the underflow exception is
raised (so there may be spurious underflow exceptions in cases
where the underflowing result is exact, but not missing underflow
exceptions in cases where it is inexact).
* The GNU C Library does not aim for functions to satisfy other
properties of the underlying mathematical function, such as
monotonicity, where not implied by the above goals.
* All the above applies to both real and complex parts, for complex
functions.
Therefore many of the functions in the math library have errors. The
table lists the maximum error for each function which is exposed by one
of the existing tests in the test suite. The table tries to cover as
much as possible and list the actual maximum error (or at least a
ballpark figure) but this is often not achieved due to the large search
space.
The table lists the ULP values for different architectures.
Different architectures have different results since their hardware
support for floating-point operations varies and also the existing
hardware support is different.
Function aarch64 Alpha ARM Generic hppa/fpu
acosf - - - - -
acos - - - - -
acosl - - - - -
acoshf - - - - -
acosh - - - - -
acoshl - - - - -
asinf - - - - -
asin - - - - -
asinl - - - - -
asinhf - - - - -
asinh - - - - -
asinhl - - - - -
atanf - - - - -
atan - - - - -
atanl - - - - -
atanhf 1 1 1 - 1
atanh - - - - -
atanhl - - - - -
atan2f 1 1 1 - 1
atan2 - - - - -
atan2l 1 1 - - -
cabsf - - - - -
cabs - - - - -
cabsl - - - - -
cacosf 0 + i 1 0 + i 1 0 + i 1 - -
cacos 1 + i 2 1 + i 2 1 + i 2 - -
cacosl 1 + i 3 1 + i 3 - - -
cacoshf 1 + i 1 1 + i 1 1 + i 1 - 0 + i 1
cacosh 1 + i 1 1 + i 1 1 + i 1 - -
cacoshl 1 + i 1 1 + i 1 - - -
cargf - - - - -
carg - - - - -
cargl - - - - -
casinf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
casin 1 + i 2 1 + i 2 1 + i 2 - 1 + i 0
casinl 0 + i 3 0 + i 3 - - 1 + i 0
casinhf 1 + i 6 1 + i 6 1 + i 6 - 1 + i 6
casinh 5 + i 3 5 + i 3 5 + i 3 - 5 + i 3
casinhl 4 + i 2 4 + i 2 - - 5 + i 3
catanf 0 + i 1 0 + i 1 0 + i 1 - 0 + i 1
catan 0 + i 1 0 + i 1 0 + i 1 - 0 + i 1
catanl 0 + i 1 0 + i 1 - - 0 + i 1
catanhf - - - - -
catanh 4 + i 0 4 + i 0 4 + i 0 - 4 + i 0
catanhl 1 + i 1 1 + i 1 - - 4 + i 0
cbrtf - - - - -
cbrt 1 1 1 - 1
cbrtl 1 1 - - 1
ccosf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 1
ccos 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
ccosl 1 + i 1 1 + i 1 - - 1 + i 0
ccoshf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 1
ccosh 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
ccoshl 1 + i 1 1 + i 1 - - 1 + i 0
ceilf - - - - -
ceil - - - - -
ceill - - - - 1
cexpf 1 + i 2 1 + i 2 1 + i 2 - 1 + i 1
cexp 2 + i 1 2 + i 1 2 + i 1 - -
cexpl 1 + i 1 1 + i 1 - - -
cimagf - - - - -
cimag - - - - -
cimagl - - - - -
clogf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
clog 1 + i 1 1 + i 0 1 + i 0 - -
clogl 1 + i 1 1 + i 1 - - -
clog10f 2 + i 1 1 + i 1 2 + i 1 - 1 + i 1
clog10 2 + i 1 2 + i 1 2 + i 1 - 0 + i 1
clog10l 1 + i 2 1 + i 2 - - 0 + i 1
conjf - - - - -
conj - - - - -
conjl - - - - -
copysignf - - - - -
copysign - - - - -
copysignl - - - - -
cosf 1 1 1 - 1
cos 2 2 2 - 2
cosl 1 1 - - 2
coshf - - - - -
cosh - - - - -
coshl - - - - -
cpowf 5 + i 2 4 + i 2 4 + i 2 - 4 + i 2
cpow 2 + i 2 2 + i 2 2 + i 2 - 2 + i 2
cpowl 4 + i 1 11 + i 1 - - 2 + i 2
cprojf - - - - -
cproj - - - - -
cprojl - - - - -
crealf - - - - -
creal - - - - -
creall - - - - -
csinf 1 + i 0 1 + i 0 1 + i 0 - -
csin 1 + i 0 1 + i 0 1 + i 0 - -
csinl 1 + i 1 1 + i 1 - - -
csinhf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 1
csinh 0 + i 1 0 + i 1 0 + i 1 - 0 + i 1
csinhl 1 + i 1 1 + i 1 - - 0 + i 1
csqrtf 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
csqrt 1 + i 1 1 + i 1 1 + i 1 - -
csqrtl 1 + i 1 1 + i 1 - - -
ctanf 1 + i 1 1 + i 0 1 + i 0 - -
ctan 1 + i 1 1 + i 1 1 + i 1 - 0 + i 1
ctanl 2 + i 2 2 + i 2 - - 0 + i 1
ctanhf 2 + i 1 1 + i 2 1 + i 2 - 2 + i 1
ctanh 1 + i 1 1 + i 1 1 + i 1 - 1 + i 0
ctanhl 2 + i 2 2 + i 2 - - 1 + i 0
erff - - - - -
erf 1 1 1 - 1
erfl - - - - 1
erfcf 1 1 1 - -
erfc 1 1 1 - 1
erfcl 1 1 - - 1
expf - - - - -
exp - - - - -
expl - - - - -
exp10f - - - - 2
exp10 1 1 1 - 6
exp10l 1 1 - - 6
exp2f - - - - -
exp2 - - - - -
exp2l 1 1 - - -
expm1f 1 1 1 - 1
expm1 1 1 1 - 1
expm1l 1 1 - - 1
fabsf - - - - -
fabs - - - - -
fabsl - - - - -
fdimf - - - - -
fdim - - - - -
fdiml - - - - -
floorf - - - - -
floor - - - - -
floorl - - - - 1
fmaf - - - - -
fma - - - - -
fmal - - - - -
fmaxf - - - - -
fmax - - - - -
fmaxl - - - - -
fminf - - - - -
fmin - - - - -
fminl - - - - -
fmodf - - - - -
fmod - - - - -
fmodl - - - - -
frexpf - - - - -
frexp - - - - -
frexpl - - - - -
gammaf - - - - -
gamma - - - - -
gammal 1 1 - - -
hypotf 1 1 1 - 1
hypot - - - - -
hypotl - - - - -
ilogbf - - - - -
ilogb - - - - -
ilogbl - - - - -
j0f 2 2 2 - 2
j0 2 2 2 - 2
j0l 2 2 - - 2
j1f 2 2 2 - 2
j1 1 1 1 - 1
j1l 4 4 - - 1
jnf 5 5 5 - 4
jn 4 4 4 - 4
jnl 8 8 - - 4
lgammaf 2 2 2 - 2
lgamma 1 1 1 - 1
lgammal 1 1 - - 1
lrintf - - - - -
lrint - - - - -
lrintl - - - - -
llrintf - - - - -
llrint - - - - -
llrintl - - - - -
logf - - - - -
log - - - - -
logl - - - - -
log10f 2 2 2 - 2
log10 1 1 1 - 1
log10l 1 1 - - 1
log1pf - 1 1 - 1
log1p - - - - -
log1pl 1 1 - - -
log2f - - - - -
log2 - - - - -
log2l 1 1 - - -
logbf - - - - -
logb - - - - -
logbl - - - - -
lroundf - - - - -
lround - - - - -
lroundl - - - - -
llroundf - - - - -
llround - - - - -
llroundl - - - - -
modff - - - - -
modf - - - - -
modfl - - - - -
nearbyintf - - - - -
nearbyint - - - - -
nearbyintl - - - - -
nextafterf - - - - -
nextafter - - - - -
nextafterl - - - - -
nexttowardf - - - - -
nexttoward - - - - -
nexttowardl - - - - -
powf 1 1 1 - -
pow - - - - -
powl 1 1 - - -
remainderf - - - - -
remainder - - - - -
remainderl - - - - -
remquof - - - - -
remquo - - - - -
remquol - - - - -
rintf - - - - -
rint - - - - -
rintl - - - - -
roundf - - - - -
round - - - - -
roundl - - - - 1
scalbf - - - - -
scalb - - - - -
scalbl - - - - -
scalbnf - - - - -
scalbn - - - - -
scalbnl - - - - -
scalblnf - - - - -
scalbln - - - - -
scalblnl - - - - -
sinf - - - - -
sin - - - - -
sinl - - - - -
sincosf 1 1 1 - 1
sincos 1 1 1 - 1
sincosl 1 1 - - 1
sinhf - - - - -
sinh - - - - -
sinhl - - - - -
sqrtf - - - - -
sqrt - - - - -
sqrtl - - - - -
tanf - - - - -
tan 1 1 1 - 1
tanl - - - - 1
tanhf - - - - -
tanh - - - - -
tanhl 1 1 - - -
tgammaf 1 1 1 - 1
tgamma 1 1 1 - 1
tgammal 1 1 - - 1
truncf - - - - -
trunc - - - - -
truncl - - - - 1
y0f 1 1 1 - 1
y0 2 2 2 - 2
y0l 3 3 - - 2
y1f 2 2 2 - 2
y1 3 3 3 - 3
y1l 1 1 - - 3
ynf 2 2 2 - 2
yn 3 3 3 - 3
ynl 5 5 - - 3
Function ix86 IA64 m68k/coldfire/fpum68k/m680x0/fpumips/mips32
acosf - - - - -
acos - - - - -
acosl 1 - - - -
acoshf - - - - -
acosh - - - 1 -
acoshl - - - 1 -
asinf - - - - -
asin - - - - -
asinl 1 - - - -
asinhf - - - - -
asinh - - - - -
asinhl - - - 1 -
atanf - - - - -
atan - - - - -
atanl - - - - -
atanhf - - 1 - 1
atanh - - - - -
atanhl 1 - - 1 -
atan2f - - 1 - 1
atan2 - - - - -
atan2l - - - 1 -
cabsf - - - - -
cabs - - - - -
cabsl - - - - -
cacosf 0 + i 1 0 + i 1 - 2 + i 1 0 + i 1
cacos 1 + i 2 - - 1 + i 2 1 + i 2
cacosl 1 + i 2 0 + i 2 - 1 + i 2 -
cacoshf 9 + i 4 7 + i 0 0 + i 1 7 + i 1 1 + i 1
cacosh 1 + i 1 1 + i 1 - 1 + i 1 1 + i 1
cacoshl 6 + i 1 7 + i 1 - 6 + i 2 -
cargf - - - - -
carg - - - - -
cargl - - - - -
casinf 1 + i 1 1 + i 1 1 + i 0 5 + i 1 1 + i 1
casin 1 + i 2 1 + i 0 1 + i 0 1 + i 2 1 + i 2
casinl 2 + i 2 2 + i 2 - 3 + i 2 -
casinhf 1 + i 6 1 + i 6 1 + i 6 1 + i 6 1 + i 6
casinh 5 + i 3 5 + i 3 5 + i 3 6 + i 13 5 + i 3
casinhl 5 + i 5 5 + i 5 - 5 + i 6 -
catanf 0 + i 1 0 + i 1 0 + i 1 0 + i 1 0 + i 1
catan 0 + i 1 0 + i 1 0 + i 1 0 + i 1 0 + i 1
catanl - - - 1 + i 0 -
catanhf 1 + i 0 - - 1 + i 0 -
catanh 2 + i 0 4 + i 0 4 + i 0 - 4 + i 0
catanhl 1 + i 0 1 + i 0 - 1 + i 0 -
cbrtf - - - - -
cbrt - - 1 - 1
cbrtl 1 - - 1 -
ccosf 1 + i 1 0 + i 1 1 + i 1 1 + i 1 1 + i 1
ccos 1 + i 1 1 + i 0 1 + i 0 - 1 + i 1
ccosl 1 + i 1 1 + i 1 - 1 + i 1 -
ccoshf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
ccosh 1 + i 1 1 + i 1 1 + i 0 - 1 + i 1
ccoshl 0 + i 1 0 + i 1 - 0 + i 1 -
ceilf - - - - -
ceil - - - - -
ceill - - - - -
cexpf 1 + i 1 1 + i 1 1 + i 1 2 + i 1 1 + i 2
cexp 2 + i 1 - - - 2 + i 1
cexpl 1 + i 1 0 + i 1 - 1 + i 1 -
cimagf - - - - -
cimag - - - - -
cimagl - - - - -
clogf 1 + i 0 1 + i 0 1 + i 0 1 + i 0 1 + i 1
clog 1 + i 0 - - 1 + i 0 1 + i 0
clogl 1 + i 1 1 + i 0 - 1 + i 1 -
clog10f 1 + i 1 1 + i 1 1 + i 1 1 + i 1 2 + i 1
clog10 1 + i 1 1 + i 1 0 + i 1 1 + i 1 2 + i 1
clog10l 1 + i 1 1 + i 1 - 1 + i 2 -
conjf - - - - -
conj - - - - -
conjl - - - - -
copysignf - - - - -
copysign - - - - -
copysignl - - - - -
cosf 1 1 1 1 1
cos 2 2 2 2 2
cosl 1 1 - 1 -
coshf - - - - -
cosh - - - - -
coshl - - - - -
cpowf 5 + i 3 5 + i 3 4 + i 2 3 + i 5 4 + i 2
cpow 2 + i 2 2 + i 2 2 + i 2 1 + i 2 2 + i 2
cpowl 5 + i 4 6 + i 4 - 15 + i 2 -
cprojf - - - - -
cproj - - - - -
cprojl - - - - -
crealf - - - - -
creal - - - - -
creall - - - - -
csinf 1 + i 1 1 + i 1 - 1 + i 1 1 + i 0
csin 1 + i 1 - - - 1 + i 0
csinl 1 + i 0 1 + i 0 - 1 + i 0 -
csinhf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
csinh 1 + i 1 1 + i 1 0 + i 1 - 0 + i 1
csinhl 1 + i 2 1 + i 2 - 1 + i 0 -
csqrtf - 1 + i 0 1 + i 0 - 1 + i 1
csqrt - - - 1 + i 1 1 + i 1
csqrtl 1 + i 1 - - 1 + i 1 -
ctanf 1 + i 1 0 + i 1 - 1 + i 1 1 + i 0
ctan 1 + i 1 1 + i 1 0 + i 1 1 + i 0 1 + i 1
ctanl 2 + i 1 2 + i 1 - 2 + i 1 -
ctanhf 1 + i 1 0 + i 1 2 + i 1 1 + i 2 1 + i 2
ctanh 1 + i 1 1 + i 1 1 + i 0 0 + i 1 1 + i 1
ctanhl 1 + i 2 1 + i 24 - 1 + i 2 -
erff - - - - -
erf 1 1 1 - 1
erfl - - - - -
erfcf 1 1 - 1 1
erfc 1 1 1 - 1
erfcl 1 1 - 1 -
expf - - - - -
exp - - - - -
expl - - - - -
exp10f - 2 2 - -
exp10 - 6 6 - 1
exp10l 8 3 - - -
exp2f - - - - -
exp2 - - - - -
exp2l - - - - -
expm1f - - 1 - 1
expm1 - - 1 - 1
expm1l 1 1 - 1 -
fabsf - - - - -
fabs - - - - -
fabsl - - - - -
fdimf - - - - -
fdim - - - - -
fdiml - - - - -
floorf - - - - -
floor - - - - -
floorl - - - - -
fmaf - - - - -
fma - - - - -
fmal - - - - -
fmaxf - - - - -
fmax - - - - -
fmaxl - - - - -
fminf - - - - -
fmin - - - - -
fminl - - - - -
fmodf - - - - -
fmod - - - - -
fmodl - - - - -
frexpf - - - - -
frexp - - - - -
frexpl - - - - -
gammaf - - - - -
gamma 1 - - - -
gammal 1 1 - 1 -
hypotf 1 1 1 1 1
hypot - - - - -
hypotl - - - - -
ilogbf - - - - -
ilogb - - - - -
ilogbl - - - - -
j0f 2 2 2 2 2
j0 3 3 2 1 2
j0l 2 2 - 2 -
j1f 2 2 2 2 2
j1 2 1 1 - 1
j1l 1 1 - 1 -
jnf 4 4 4 5 5
jn 5 3 4 1 4
jnl 3 2 - 3 -
lgammaf 2 2 2 2 2
lgamma 1 1 1 1 1
lgammal 1 1 - 1 -
lrintf - - - - -
lrint - - - - -
lrintl - - - - -
llrintf - - - - -
llrint - - - - -
llrintl - - - - -
logf 1 1 - 1 -
log - - - - -
logl - - - 1 -
log10f 1 1 2 1 2
log10 - - 1 - 1
log10l 1 1 - 2 -
log1pf - - 1 - 1
log1p - - - - -
log1pl - - - 1 -
log2f - - - - -
log2 - - - - -
log2l - - - 1 -
logbf - - - - -
logb - - - - -
logbl - - - - -
lroundf - - - - -
lround - - - - -
lroundl - - - - -
llroundf - - - - -
llround - - - - -
llroundl - - - - -
modff - - - - -
modf - - - - -
modfl - - - - -
nearbyintf - - - - -
nearbyint - - - - -
nearbyintl - - - - -
nextafterf - - - - -
nextafter - - - - -
nextafterl - - - - -
nexttowardf - - - - -
nexttoward - - - - -
nexttowardl - - - - -
powf - - - 1 1
pow - - - - -
powl 1 - - 7 -
remainderf - - - - -
remainder - - - - -
remainderl - - - - -
remquof - - - - -
remquo - - - - -
remquol - - - - -
rintf - - - - -
rint - - - - -
rintl - - - - -
roundf - - - - -
round - - - - -
roundl - - - - -
scalbf - - - - -
scalb - - - - -
scalbl - - - - -
scalbnf - - - - -
scalbn - - - - -
scalbnl - - - - -
scalblnf - - - - -
scalbln - - - - -
scalblnl - - - - -
sinf 1 - - - -
sin - - - - -
sinl - - - - -
sincosf 1 1 1 1 1
sincos 1 1 1 1 1
sincosl 1 1 - 1 -
sinhf - - - - -
sinh 1 - - - -
sinhl - - - 1 -
sqrtf - - - - -
sqrt - - - - -
sqrtl - - - - -
tanf 1 - - - -
tan 1 1 1 1 1
tanl 1 - - 1 -
tanhf - - - - -
tanh - - - - -
tanhl - - - - -
tgammaf 1 1 1 1 1
tgamma 2 1 1 1 1
tgammal 1 1 - 1 -
truncf - - - - -
trunc - - - - -
truncl - - - - -
y0f 2 1 1 1 1
y0 2 2 2 1 2
y0l 1 1 - 2 -
y1f 2 2 2 2 2
y1 2 3 3 1 3
y1l 2 1 - 2 -
ynf 3 2 2 2 2
yn 2 3 3 1 3
ynl 4 2 - 4 -
Function mips/mips64 PowerPC powerpc/nofpu S/390 SH4
acosf - - - - -
acos - - - - -
acosl - 1 1 - -
acoshf - - - - -
acosh - - - - -
acoshl - 1 1 - -
asinf - - - - 2
asin - - - - 1
asinl - 2 2 - -
asinhf - - - - -
asinh - - - - -
asinhl - 1 1 - -
atanf - - - - -
atan - - - - -
atanl - - - - -
atanhf 1 1 1 1 -
atanh - - - - 1
atanhl - - - - -
atan2f 1 1 1 1 4
atan2 - - - - -
atan2l 1 1 1 1 -
cabsf - 1 - - 1
cabs - - - - 1
cabsl - 1 1 - -
cacosf 0 + i 1 0 + i 1 0 + i 1 0 + i 1 1 + i 1
cacos 1 + i 2 1 + i 3 1 + i 2 1 + i 2 1 + i 0
cacosl 1 + i 3 1 + i 2 1 + i 2 1 + i 3 -
cacoshf 1 + i 1 7 + i 3 1 + i 1 1 + i 1 7 + i 3
cacosh 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
cacoshl 1 + i 1 1 + i 1 1 + i 0 1 + i 1 -
cargf - - - - -
carg - - - - -
cargl - - - - -
casinf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 2 + i 1
casin 1 + i 2 1 + i 3 1 + i 2 1 + i 2 3 + i 0
casinl 0 + i 3 1 + i 2 1 + i 2 0 + i 3 -
casinhf 1 + i 6 1 + i 6 1 + i 6 1 + i 6 1 + i 6
casinh 5 + i 3 5 + i 3 5 + i 3 5 + i 3 5 + i 3
casinhl 4 + i 2 4 + i 1 4 + i 1 4 + i 2 -
catanf 0 + i 1 4 + i 1 0 + i 1 0 + i 1 4 + i 1
catan 0 + i 1 0 + i 1 0 + i 1 0 + i 1 0 + i 1
catanl 0 + i 1 1 + i 1 1 + i 1 0 + i 1 -
catanhf - 0 + i 6 - - 1 + i 6
catanh 4 + i 0 4 + i 0 4 + i 0 4 + i 0 4 + i 1
catanhl 1 + i 1 - - 1 + i 1 -
cbrtf - - - - -
cbrt 1 1 1 1 1
cbrtl 1 1 1 1 -
ccosf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 0 + i 1
ccos 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
ccosl 1 + i 1 1 + i 1 1 + i 2 1 + i 1 -
ccoshf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
ccosh 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
ccoshl 1 + i 1 1 + i 2 1 + i 2 1 + i 1 -
ceilf - - - - -
ceil - - - - -
ceill - - - - -
cexpf 1 + i 2 1 + i 2 1 + i 2 1 + i 2 1 + i 1
cexp 2 + i 1 2 + i 1 2 + i 1 2 + i 1 1 + i 0
cexpl 1 + i 1 2 + i 2 2 + i 2 1 + i 1 -
cimagf - - - - -
cimag - - - - -
cimagl - - - - -
clogf 1 + i 1 2 + i 3 1 + i 1 1 + i 1 0 + i 3
clog 1 + i 0 1 + i 1 1 + i 0 1 + i 1 0 + i 1
clogl 1 + i 1 1 + i 2 1 + i 2 1 + i 1 -
clog10f 2 + i 1 2 + i 1 2 + i 1 2 + i 1 1 + i 5
clog10 2 + i 1 2 + i 1 2 + i 1 2 + i 1 1 + i 1
clog10l 1 + i 2 2 + i 2 2 + i 2 1 + i 2 -
conjf - - - - -
conj - - - - -
conjl - - - - -
copysignf - - - - -
copysign - - - - -
copysignl - - - - -
cosf 1 1 1 1 1
cos 2 2 2 2 2
cosl 1 1 1 1 -
coshf - - - - -
cosh - - - - -
coshl - 1 1 - -
cpowf 4 + i 2 5 + i 2 4 + i 2 5 + i 2 4 + i 2
cpow 2 + i 2 2 + i 2 2 + i 2 2 + i 2 1 + i 1.1031
cpowl 4 + i 1 4 + i 2 4 + i 2 4 + i 1 -
cprojf - - - - -
cproj - - - - -
cprojl - 0 + i 1 - - -
crealf - - - - -
creal - - - - -
creall - - - - -
csinf 1 + i 0 1 + i 0 1 + i 0 1 + i 0 0 + i 1
csin 1 + i 0 1 + i 0 1 + i 0 1 + i 0 -
csinl 1 + i 1 1 + i 1 2 + i 1 1 + i 1 -
csinhf 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
csinh 0 + i 1 0 + i 1 0 + i 1 0 + i 1 0 + i 1
csinhl 1 + i 1 1 + i 1 1 + i 2 1 + i 1 -
csqrtf 1 + i 1 2 + i 2 1 + i 1 1 + i 1 1 + i 1
csqrt 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 0
csqrtl 1 + i 1 1 + i 1 1 + i 1 1 + i 1 -
ctanf 1 + i 0 1 + i 1 1 + i 0 1 + i 1 1 + i 1
ctan 1 + i 1 1 + i 1 1 + i 1 1 + i 1 1 + i 1
ctanl 2 + i 2 2 + i 2 2 + i 2 2 + i 2 -
ctanhf 1 + i 2 2 + i 1 1 + i 2 2 + i 1 2 + i 1
ctanh 1 + i 1 1 + i 1 1 + i 1 1 + i 1 2 + i 2
ctanhl 2 + i 2 3 + i 2 2 + i 2 2 + i 2 -
erff - - - - -
erf 1 1 1 1 -
erfl - 1 1 - -
erfcf 1 1 1 1 12
erfc 1 1 1 1 24
erfcl 1 1 1 1 -
expf - - - - -
exp - - - - -
expl - 1 1 - -
exp10f - 1 - - 2
exp10 1 1 1 1 6
exp10l 1 1 1 1 -
exp2f - - - - -
exp2 - - - - -
exp2l 1 2 - 1 -
expm1f 1 1 1 1 1
expm1 1 1 1 1 -
expm1l 1 1 1 1 -
fabsf - - - - -
fabs - - - - -
fabsl - - - - -
fdimf - - - - -
fdim - - - - -
fdiml - - - - -
floorf - - - - -
floor - - - - -
floorl - - - - -
fmaf - - - - -
fma - - - - -
fmal - - - - -
fmaxf - - - - -
fmax - - - - -
fmaxl - - - - -
fminf - - - - -
fmin - - - - -
fminl - - - - -
fmodf - - - - 1
fmod - - - - 2
fmodl - - - - -
frexpf - - - - -
frexp - - - - -
frexpl - - - - -
gammaf - - - - -
gamma - - - - -
gammal 1 1 1 1 -
hypotf 1 1 1 1 1
hypot - 1 - - 1
hypotl - 1 1 - -
ilogbf - - - - -
ilogb - - - - -
ilogbl - - - - -
j0f 2 2 2 2 2
j0 2 3 2 2 2
j0l 2 2 2 2 -
j1f 2 2 2 2 2
j1 1 1 1 1 1
j1l 4 1 1 4 -
jnf 5 5 5 5 4
jn 4 4 4 4 6
jnl 8 7 7 8 -
lgammaf 2 2 2 2 2
lgamma 1 1 1 1 1
lgammal 1 3 3 1 -
lrintf - - - - -
lrint - - - - -
lrintl - - - - -
llrintf - - - - -
llrint - - - - -
llrintl - - - - -
logf - - - - 1
log - - - - 1
logl - 1 1 - -
log10f 2 2 2 2 1
log10 1 1 1 1 1
log10l 1 1 1 1 -
log1pf 1 1 1 1 1
log1p - - - - 1
log1pl 1 1 - 1 -
log2f - - - - 1
log2 - - - - 1
log2l 1 1 1 1 -
logbf - - - - -
logb - - - - -
logbl - - - - -
lroundf - - - - -
lround - - - - -
lroundl - - - - -
llroundf - - - - -
llround - - - - -
llroundl - - - - -
modff - - - - -
modf - - - - -
modfl - - - - -
nearbyintf - - - - -
nearbyint - - - - -
nearbyintl - - - - -
nextafterf - - - - -
nextafter - - - - -
nextafterl - - - - -
nexttowardf - - - - -
nexttoward - - - - -
nexttowardl - - - - -
powf 1 1 1 1 -
pow - - - - -
powl 1 1 1 1 -
remainderf - - - - -
remainder - - - - -
remainderl - - - - -
remquof - - - - -
remquo - - - - -
remquol - - - - -
rintf - - - - -
rint - - - - -
rintl - - - - -
roundf - - - - -
round - - - - -
roundl - - - - -
scalbf - - - - -
scalb - - - - -
scalbl - - - - -
scalbnf - - - - -
scalbn - - - - -
scalbnl - - - - -
scalblnf - - - - -
scalbln - - - - -
scalblnl - - - - -
sinf - - - - -
sin - - - - -
sinl - 1 1 - -
sincosf 1 1 1 1 1
sincos 1 1 1 1 1
sincosl 1 1 1 1 -
sinhf - - - - 1
sinh - - - - 1
sinhl - 1 1 - -
sqrtf - - - - -
sqrt - 1 - - -
sqrtl - - - - -
tanf - - - - -
tan 1 1 1 1 0.5
tanl - 2 2 - -
tanhf - - - - 1
tanh - - - - 1
tanhl 1 1 1 1 -
tgammaf 1 1 1 1 1
tgamma 1 1 1 1 1
tgammal 1 1 1 1 -
truncf - - - - -
trunc - - - - -
truncl - - - - -
y0f 1 1 1 1 1
y0 2 2 2 2 2
y0l 3 1 1 3 -
y1f 2 2 2 2 2
y1 3 3 3 3 3
y1l 1 2 2 1 -
ynf 2 2 2 2 2
yn 3 3 3 3 3
ynl 5 2 2 5 -
Function sparc/fpu tile x86_64/fpu
acosf - - -
acos - - -
acosl - - 1
acoshf - - -
acosh - - -
acoshl - - -
asinf - - -
asin - - -
asinl - - 1
asinhf - - -
asinh - - -
asinhl - - -
atanf - - -
atan - - -
atanl - - -
atanhf 1 1 1
atanh - - -
atanhl - - 1
atan2f 1 1 1
atan2 - - -
atan2l 1 - -
cabsf - - -
cabs - - -
cabsl - - -
cacosf 0 + i 1 0 + i 1 0 + i 1
cacos 1 + i 2 1 + i 2 1 + i 2
cacosl 1 + i 3 - 1 + i 2
cacoshf 1 + i 1 1 + i 1 7 + i 3
cacosh 1 + i 1 1 + i 1 1 + i 1
cacoshl 1 + i 1 - 6 + i 1
cargf - - -
carg - - -
cargl - - -
casinf 1 + i 1 1 + i 1 1 + i 1
casin 1 + i 2 1 + i 2 1 + i 2
casinl 0 + i 3 - 2 + i 2
casinhf 1 + i 6 1 + i 6 1 + i 6
casinh 5 + i 3 5 + i 3 5 + i 3
casinhl 4 + i 2 - 5 + i 5
catanf 0 + i 1 0 + i 1 4 + i 1
catan 0 + i 1 0 + i 1 0 + i 1
catanl 0 + i 1 - -
catanhf - - 0 + i 6
catanh 4 + i 0 4 + i 0 4 + i 0
catanhl 1 + i 1 - 1 + i 0
cbrtf - - -
cbrt 1 1 1
cbrtl 1 - 1
ccosf 1 + i 1 1 + i 1 1 + i 1
ccos 1 + i 1 1 + i 1 1 + i 1
ccosl 1 + i 1 - 1 + i 1
ccoshf 1 + i 1 1 + i 1 1 + i 1
ccosh 1 + i 1 1 + i 1 1 + i 1
ccoshl 1 + i 1 - 0 + i 1
ceilf - - -
ceil - - -
ceill - - -
cexpf 1 + i 2 1 + i 2 1 + i 2
cexp 2 + i 1 2 + i 1 2 + i 1
cexpl 1 + i 1 - 1 + i 1
cimagf - - -
cimag - - -
cimagl - - -
clogf 1 + i 1 1 + i 1 1 + i 3
clog 1 + i 0 1 + i 0 1 + i 0
clogl 1 + i 1 - 1 + i 1
clog10f 2 + i 1 2 + i 1 2 + i 1
clog10 2 + i 1 2 + i 1 2 + i 1
clog10l 1 + i 2 - 1 + i 1
conjf - - -
conj - - -
conjl - - -
copysignf - - -
copysign - - -
copysignl - - -
cosf 1 1 1
cos 2 2 2
cosl 1 - 1
coshf - - -
cosh - - -
coshl - - -
cpowf 4 + i 2 4 + i 2 5 + i 2
cpow 2 + i 2 2 + i 2 2 + i 2
cpowl 11 + i 1 - 5 + i 4
cprojf - - -
cproj - - -
cprojl - - -
crealf - - -
creal - - -
creall - - -
csinf 1 + i 0 1 + i 0 1 + i 1
csin 1 + i 0 1 + i 0 1 + i 1
csinl 1 + i 1 - 1 + i 0
csinhf 1 + i 1 1 + i 1 1 + i 1
csinh 0 + i 1 0 + i 1 1 + i 1
csinhl 1 + i 1 - 1 + i 2
csqrtf 1 + i 1 1 + i 1 1 + i 1
csqrt 1 + i 1 1 + i 1 1 + i 1
csqrtl 1 + i 1 - 1 + i 1
ctanf 1 + i 0 1 + i 0 2 + i 2
ctan 1 + i 1 1 + i 1 1 + i 1
ctanl 2 + i 2 - 2 + i 1
ctanhf 1 + i 2 1 + i 2 2 + i 2
ctanh 1 + i 1 1 + i 1 1 + i 1
ctanhl 2 + i 2 - 1 + i 2
erff - - -
erf 1 1 1
erfl - - -
erfcf 1 1 1
erfc 1 1 1
erfcl 1 - 1
expf - - -
exp - - -
expl - - -
exp10f 2 - 2
exp10 6 1 6
exp10l 1 - 8
exp2f - - -
exp2 - - -
exp2l 1 - -
expm1f 1 1 1
expm1 1 1 1
expm1l 1 - 1
fabsf - - -
fabs - - -
fabsl - - -
fdimf - - -
fdim - - -
fdiml - - -
floorf - - -
floor - - -
floorl - - -
fmaf - 1 -
fma - 1 -
fmal - - -
fmaxf - - -
fmax - - -
fmaxl - - -
fminf - - -
fmin - - -
fminl - - -
fmodf - - -
fmod - - -
fmodl - - -
frexpf - - -
frexp - - -
frexpl - - -
gammaf - - -
gamma - - -
gammal 1 - 1
hypotf 1 1 1
hypot - - -
hypotl - - -
ilogbf - - -
ilogb - - -
ilogbl - - -
j0f 2 2 2
j0 2 2 2
j0l 2 - 2
j1f 2 2 2
j1 1 1 1
j1l 4 - 1
jnf 5 5 5
jn 4 4 4
jnl 8 - 3
lgammaf 2 2 2
lgamma 1 1 1
lgammal 1 - 1
lrintf - - -
lrint - - -
lrintl - - -
llrintf - - -
llrint - - -
llrintl - - -
logf - - -
log - - -
logl - - -
log10f 2 2 2
log10 1 1 1
log10l 1 - 1
log1pf 1 1 1
log1p - - -
log1pl 1 - -
log2f - - -
log2 - - -
log2l 1 - -
logbf - - -
logb - - -
logbl - - -
lroundf - - -
lround - - -
lroundl - - -
llroundf - - -
llround - - -
llroundl - - -
modff - - -
modf - - -
modfl - - -
nearbyintf - - -
nearbyint - - -
nearbyintl - - -
nextafterf - - -
nextafter - - -
nextafterl - - -
nexttowardf - - -
nexttoward - - -
nexttowardl - - -
powf 1 1 1
pow - - -
powl 1 - 1
remainderf - - -
remainder - - -
remainderl - - -
remquof - - -
remquo - - -
remquol - - -
rintf - - -
rint - - -
rintl - - -
roundf - - -
round - - -
roundl - - -
scalbf - - -
scalb - - -
scalbl - - -
scalbnf - - -
scalbn - - -
scalbnl - - -
scalblnf - - -
scalbln - - -
scalblnl - - -
sinf - - -
sin - - -
sinl - - -
sincosf 1 1 1
sincos 1 1 1
sincosl 1 - 1
sinhf - - -
sinh - - -
sinhl - - -
sqrtf - - -
sqrt - - -
sqrtl - - -
tanf - - -
tan 1 1 1
tanl - - 1
tanhf - - -
tanh - - -
tanhl 1 - -
tgammaf 1 1 1
tgamma 1 1 1
tgammal 1 - 1
truncf - - -
trunc - - -
truncl - - -
y0f 1 1 1
y0 2 2 2
y0l 3 - 1
y1f 2 2 2
y1 3 3 3
y1l 1 - 2
ynf 2 2 2
yn 3 3 3
ynl 5 - 4
Info Catalog
(libc.info.gz) Special Functions
(libc.info.gz) Mathematics
(libc.info.gz) Pseudo-Random Numbers
automatically generated by
info2html