*     C02ALF Example Program Text
*     Mark 20 Release. NAG Copyright 2001.
*     .. Parameters ..
      INTEGER          NIN, NOUT
      PARAMETER        (NIN=5,NOUT=6)
*     .. Local Scalars ..
      DOUBLE PRECISION A, B, C, D, E
      INTEGER          I, IFAIL
*     .. Local Arrays ..
      DOUBLE PRECISION ERREST(4), ZEROI(4), ZEROR(4)
*     .. External Subroutines ..
      EXTERNAL         C02ALF
*     .. Executable Statements ..
      WRITE (NOUT,*) 'C02ALF Example Program Results'
*     Skip heading in data file
      READ (NIN,*)
      READ (NIN,*) E, A, B, C, D
      IFAIL = 1
*
      CALL C02ALF(E,A,B,C,D,ZEROR,ZEROI,ERREST,IFAIL)
*
      IF (IFAIL.EQ.0) THEN
         WRITE (NOUT,*)
         WRITE (NOUT,*) ' Roots of quartic equation   ',
     +     '        Error estimates'
         WRITE (NOUT,*) '                             ',
     +     '      (machine-dependent)'
         WRITE (NOUT,*)
         DO 20 I = 1, 4
            WRITE (NOUT,99999) ' z = ', ZEROR(I), ZEROI(I), '*i',
     +        ERREST(I)
   20    CONTINUE
      ELSE
         WRITE (NOUT,*)
         WRITE (NOUT,99998) ' ** C02ALF returned with IFAIL = ', IFAIL
      END IF
*
99999 FORMAT (1X,A,1P,E12.4,SP,E12.4,A,8X,SS,E9.1)
99998 FORMAT (1X,A,I5)
      END
