question: static public double k0 ( double x ) throws ArithmeticException { double y , z ; if ( x <= 0.0 ) throw new ArithmeticException ( ) ; if ( x <= 2.0 ) { y = x * x - 2.0 ; y = Arithmetic . chbevl ( y , A_k0 , 10 ) - Math . log ( 0.5 * x ) * i0 ( x ) ; return ( y ) ; } z = 8.0 / x - 2.0 ; y = Math . exp ( - x ) * Arithmetic . chbevl ( z , B_k0 , 25 ) / Math . sqrt ( x ) ; return ( y ) ; }
target:  Returns the modified Bessel function of the third kind of order 0 of the argument. <p> The range is partitioned into the two intervals [0,8] and (8, infinity).  Chebyshev polynomial expansions are employed in each interval.