    PROGRAM nag_bessel_fun_ex03

      ! Example Program Text for nag_bessel_fun
      ! NAG fl90, Release 4. NAG Copyright 2000.

      ! .. Use Statements ..
      USE nag_examples_io, ONLY : nag_std_out
      USE nag_bessel_fun, ONLY : nag_bessel_k0, nag_bessel_k1
      ! .. Implicit None Statement ..
      IMPLICIT NONE
      ! .. Intrinsic Functions ..
      INTRINSIC KIND
      ! .. Parameters ..
      INTEGER, PARAMETER :: n = 8
      INTEGER, PARAMETER :: wp = KIND(1.0D0)
      ! .. Local Scalars ..
      INTEGER :: i
      REAL (wp) :: k0, k1
      ! .. Local Arrays ..
      REAL (wp) :: x(n)
      ! .. Executable Statements ..
      WRITE (nag_std_out,*) 'Example Program Results for nag_bessel_fun_ex03'

      WRITE (nag_std_out,*)
      WRITE (nag_std_out,*) '       x         K0(x)       K1(x)'

      x = (/ 0.4_wp, 0.6_wp, 1.6_wp, 2.5_wp, 3.5_wp, 8.0_wp, 10.0_wp, &
       1000.0_wp/)

      DO i = 1, n

        k0 = nag_bessel_k0(x(i))
        k1 = nag_bessel_k1(x(i))

        WRITE (nag_std_out,'(1X,1P,3E12.3)') x(i), k0, k1
      END DO

      WRITE (nag_std_out,*)
      WRITE (nag_std_out,*) '                scaled      scaled'
      WRITE (nag_std_out,*) '       x         K0(x)       K1(x)'
      x = (/ 0.4_wp, 0.6_wp, 1.6_wp, 2.5_wp, 3.5_wp, 8.0_wp, 10.0_wp, &
       1000.0_wp/)

      DO i = 1, n

        k0 = nag_bessel_k0(x(i),scale=.TRUE.)
        k1 = nag_bessel_k1(x(i),scale=.TRUE.)

        WRITE (nag_std_out,'(1X,1P,3E12.3)') x(i), k0, k1
      END DO

    END PROGRAM nag_bessel_fun_ex03
