|  | .\" Copyright (c) 1985 Regents of the University of California. | 
|  | .\" All rights reserved. | 
|  | .\" | 
|  | .\" Redistribution and use in source and binary forms, with or without | 
|  | .\" modification, are permitted provided that the following conditions | 
|  | .\" are met: | 
|  | .\" 1. Redistributions of source code must retain the above copyright | 
|  | .\"    notice, this list of conditions and the following disclaimer. | 
|  | .\" 2. Redistributions in binary form must reproduce the above copyright | 
|  | .\"    notice, this list of conditions and the following disclaimer in the | 
|  | .\"    documentation and/or other materials provided with the distribution. | 
|  | .\" 3. All advertising materials mentioning features or use of this software | 
|  | .\"    must display the following acknowledgement: | 
|  | .\"	This product includes software developed by the University of | 
|  | .\"	California, Berkeley and its contributors. | 
|  | .\" 4. Neither the name of the University nor the names of its contributors | 
|  | .\"    may be used to endorse or promote products derived from this software | 
|  | .\"    without specific prior written permission. | 
|  | .\" | 
|  | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | 
|  | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
|  | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
|  | .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | 
|  | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
|  | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 
|  | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
|  | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 
|  | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 
|  | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 
|  | .\" SUCH DAMAGE. | 
|  | .\" | 
|  | .\"	from: @(#)math.3	6.10 (Berkeley) 5/6/91 | 
|  | .\" $FreeBSD: src/lib/msun/man/math.3,v 1.27 2005/11/17 13:00:00 ru Exp $ | 
|  | .\" | 
|  | .Dd November 6, 2005 | 
|  | .Dt MATH 3 | 
|  | .Os | 
|  | .if n \{\ | 
|  | .char \[sr] "sqrt | 
|  | .\} | 
|  | .Sh NAME | 
|  | .Nm math | 
|  | .Nd "floating-point mathematical library" | 
|  | .Sh LIBRARY | 
|  | .Lb libm | 
|  | .Sh SYNOPSIS | 
|  | .In math.h | 
|  | .Sh DESCRIPTION | 
|  | These functions constitute the C math library. | 
|  | .Sh "LIST OF FUNCTIONS" | 
|  | Each of the following | 
|  | .Vt double | 
|  | functions has a | 
|  | .Vt float | 
|  | counterpart with an | 
|  | .Ql f | 
|  | appended to the name and a | 
|  | .Vt "long double" | 
|  | counterpart with an | 
|  | .Ql l | 
|  | appended. | 
|  | As an example, the | 
|  | .Vt float | 
|  | and | 
|  | .Vt "long double" | 
|  | counterparts of | 
|  | .Ft double | 
|  | .Fn acos "double x" | 
|  | are | 
|  | .Ft float | 
|  | .Fn acosf "float x" | 
|  | and | 
|  | .Ft "long double" | 
|  | .Fn acosl "long double x" , | 
|  | respectively. | 
|  | .de Cl | 
|  | .Bl -column "isgreaterequal" "bessel function of the second kind of the order 0" | 
|  | .Em "Name	Description" | 
|  | .. | 
|  | .Ss Algebraic Functions | 
|  | .Cl | 
|  | cbrt	cube root | 
|  | fma	fused multiply-add | 
|  | hypot	Euclidean distance | 
|  | sqrt	square root | 
|  | .El | 
|  | .Ss Classification Functions | 
|  | .Cl | 
|  | fpclassify	classify a floating-point value | 
|  | isfinite	determine whether a value is finite | 
|  | isinf	determine whether a value is infinite | 
|  | isnan	determine whether a value is \*(Na | 
|  | isnormal	determine whether a value is normalized | 
|  | .El | 
|  | .Ss Exponent Manipulation Functions | 
|  | .Cl | 
|  | frexp	extract exponent and mantissa | 
|  | ilogb	extract exponent | 
|  | ldexp	multiply by power of 2 | 
|  | logb	extract exponent | 
|  | scalbln	adjust exponent | 
|  | scalbn	adjust exponent | 
|  | .El | 
|  | .Ss Extremum- and Sign-Related Functions | 
|  | .Cl | 
|  | copysign	copy sign bit | 
|  | fabs	absolute value | 
|  | fdim	positive difference | 
|  | fmax	maximum function | 
|  | fmin	minimum function | 
|  | signbit	extract sign bit | 
|  | .El | 
|  | .\" .Ss Not a Number | 
|  | .\" .Cl | 
|  | .\" nan	return quiet \*(Na)	0 | 
|  | .\" .El | 
|  | .Ss Residue and Rounding Functions | 
|  | .Cl | 
|  | ceil	integer no less than | 
|  | floor	integer no greater than | 
|  | fmod	positive remainder | 
|  | llrint	round to integer in fixed-point format | 
|  | llround	round to nearest integer in fixed-point format | 
|  | lrint	round to integer in fixed-point format | 
|  | lround	round to nearest integer in fixed-point format | 
|  | modf	extract integer and fractional parts | 
|  | nearbyint	round to integer (silent) | 
|  | nextafter	next representable value | 
|  | nexttoward	next representable value | 
|  | remainder	remainder | 
|  | remquo	remainder with partial quotient | 
|  | rint	round to integer | 
|  | round	round to nearest integer | 
|  | trunc	integer no greater in magnitude than | 
|  | .El | 
|  | .Pp | 
|  | The | 
|  | .Fn ceil , | 
|  | .Fn floor , | 
|  | .Fn llround , | 
|  | .Fn lround , | 
|  | .Fn round , | 
|  | and | 
|  | .Fn trunc | 
|  | functions round in predetermined directions, whereas | 
|  | .Fn llrint , | 
|  | .Fn lrint , | 
|  | and | 
|  | .Fn rint | 
|  | round according to the current (dynamic) rounding mode. | 
|  | For more information on controlling the dynamic rounding mode, see | 
|  | .Xr fenv 3 | 
|  | and | 
|  | .Xr fesetround 3 . | 
|  | .Ss Silent Order Predicates | 
|  | .Cl | 
|  | isgreater	greater than relation | 
|  | isgreaterequal	greater than or equal to relation | 
|  | isless	less than relation | 
|  | islessequal	less than or equal to relation | 
|  | islessgreater	less than or greater than relation | 
|  | isunordered	unordered relation | 
|  | .El | 
|  | .Ss Transcendental Functions | 
|  | .Cl | 
|  | acos	inverse cosine | 
|  | acosh	inverse hyperbolic cosine | 
|  | asin	inverse sine | 
|  | asinh	inverse hyperbolic sine | 
|  | atan	inverse tangent | 
|  | atanh	inverse hyperbolic tangent | 
|  | atan2	atan(y/x); complex argument | 
|  | cos	cosine | 
|  | cosh	hyperbolic cosine | 
|  | erf	error function | 
|  | erfc	complementary error function | 
|  | exp	exponential base e | 
|  | exp2	exponential base 2 | 
|  | expm1	exp(x)\-1 | 
|  | j0	Bessel function of the first kind of the order 0 | 
|  | j1	Bessel function of the first kind of the order 1 | 
|  | jn	Bessel function of the first kind of the order n | 
|  | lgamma	log gamma function | 
|  | log	natural logarithm | 
|  | log10	logarithm to base 10 | 
|  | log1p	log(1+x) | 
|  | .\" log2	base 2 logarithm | 
|  | pow	exponential x**y | 
|  | sin	trigonometric function | 
|  | sinh	hyperbolic function | 
|  | tan	trigonometric function | 
|  | tanh	hyperbolic function | 
|  | tgamma	gamma function | 
|  | y0	Bessel function of the second kind of the order 0 | 
|  | y1	Bessel function of the second kind of the order 1 | 
|  | yn	Bessel function of the second kind of the order n | 
|  | .El | 
|  | .Pp | 
|  | Unlike the algebraic functions listed earlier, the routines | 
|  | in this section may not produce a result that is correctly rounded, | 
|  | so reproducible results cannot be guaranteed across platforms. | 
|  | For most of these functions, however, incorrect rounding occurs | 
|  | rarely, and then only in very-close-to-halfway cases. | 
|  | .Sh SEE ALSO | 
|  | .Xr fenv 3 , | 
|  | .Xr ieee 3 | 
|  | .Sh HISTORY | 
|  | A math library with many of the present functions appeared in | 
|  | .At v7 . | 
|  | The library was substantially rewritten for | 
|  | .Bx 4.3 | 
|  | to provide | 
|  | better accuracy and speed on machines supporting either VAX | 
|  | or IEEE 754 floating-point. | 
|  | Most of this library was replaced with FDLIBM, developed at Sun | 
|  | Microsystems, in | 
|  | .Fx 1.1.5 . | 
|  | Additional routines, including ones for | 
|  | .Vt float | 
|  | and | 
|  | .Vt long double | 
|  | values, were written for or imported into subsequent versions of FreeBSD. | 
|  | .Sh BUGS | 
|  | The | 
|  | .Fn log2 | 
|  | and | 
|  | .Fn nan | 
|  | functions are missing, and many functions are not available in their | 
|  | .Vt "long double" | 
|  | variants. | 
|  | .Pp | 
|  | Many of the routines to compute transcendental functions produce | 
|  | inaccurate results in other than the default rounding mode. | 
|  | .Pp | 
|  | On some architectures, trigonometric argument reduction is not | 
|  | performed accurately, resulting in errors greater than 1 | 
|  | .Em ulp | 
|  | for large arguments to | 
|  | .Fn cos , | 
|  | .Fn sin , | 
|  | and | 
|  | .Fn tan . |