cc [flag ...] file ... -lm [library ...]
double j0(double x);
double j1(double x);
double jn(int n, double x);
double y0(double x);
double y1(double x);
double yn(int n, double x);
y0 and y1 return Bessel functions of x of the second kind of orders 0 and 1, respectively. yn returns the Bessel function of x of the second kind of order n. The value of x must be positive.
When x is negative, y0, y1, and yn return IEEE NaN on systems that support it, otherwise -HUGE_VAL, and set errno to EDOM.
Arguments too large in magnitude cause all of these functions to return zero and to set errno to ERANGE.
On systems that support IEEE NaN, if x is a quiet NaN, that value is returned. If x is a signaling NaN, a quiet NaN is returned and the invalid operation exception is raised. In either case, errno is set to EDOM.
If the program was compiled with the -Xt compilation mode, non-positive arguments to y0, y1, and yn cause these functions to return a value that will compare equal to -HUGE and to set errno to EDOM. In addition, a message indicating DOMAIN error is printed on the standard error output. For arguments too large in magnitude, a message indicating TLOSS error is printed on the standard error output, in addition to the error behavior described above. These error handling procedures may be changed with the function matherr.