*     C06LBF Example Program Text
*     Mark 14 Release. NAG Copyright 1989.
*     .. Parameters ..
      INTEGER          MMAX
      PARAMETER        (MMAX=512)
      INTEGER          NOUT
      PARAMETER        (NOUT=6)
*     .. Local Scalars ..
      DOUBLE PRECISION B, EPSTOL, EXACT, FINV, PSERR, SIGMA, SIGMA0, T
      INTEGER          IFAIL, J, M
*     .. Local Arrays ..
      DOUBLE PRECISION ACOEF(MMAX), ERRVEC(8)
*     .. External Subroutines ..
      EXTERNAL         C06LBF, C06LCF
*     .. External Functions ..
      COMPLEX *16      F
      EXTERNAL         F
*     .. Intrinsic Functions ..
      INTRINSIC        ABS, DBLE, EXP, SINH
*     .. Executable Statements ..
      WRITE (NOUT,*) 'C06LBF Example Program Results'
      SIGMA0 = 3.0D0
      EPSTOL = 0.00001D0
      SIGMA = 0.0D0
      B = 0.0D0
      IFAIL = 1
*
*     Compute inverse transform
      CALL C06LBF(F,SIGMA0,SIGMA,B,EPSTOL,MMAX,M,ACOEF,ERRVEC,IFAIL)
*
      IF (IFAIL.EQ.0) THEN
         WRITE (NOUT,*)
         WRITE (NOUT,99999) 'No. of coefficients returned by C06LBF =',
     +     M
         WRITE (NOUT,*)
         WRITE (NOUT,*)
     +     '                 Computed          Exact      Pseudo'
         WRITE (NOUT,*)
     +     '         T           f(T)           f(T)       error'
         WRITE (NOUT,*)
*
*        Evaluate inverse transform for different values of t
         DO 20 J = 0, 5
            T = DBLE(J)
*
            CALL C06LCF(T,SIGMA,B,M,ACOEF,ERRVEC,FINV,IFAIL)
*
            EXACT = SINH(3.0D0*T)
            PSERR = ABS(FINV-EXACT)/EXP(SIGMA*T)
            WRITE (NOUT,99998) T, FINV, EXACT, PSERR
   20    CONTINUE
      ELSE
         WRITE (NOUT,*)
         WRITE (NOUT,99997) ' ** C06LBF returned with IFAIL = ', IFAIL
      END IF
*
99999 FORMAT (1X,A,I6)
99998 FORMAT (1X,1P,E10.2,2E15.4,E12.1)
99997 FORMAT (1X,A,I5)
      END
*
      COMPLEX *16 FUNCTION F(S)
*     .. Scalar Arguments ..
      COMPLEX *16      S
*     .. Executable Statements ..
      F = 3.0D0/(S**2-9.0D0)
      RETURN
      END
