*DECK DFMAT
      SUBROUTINE DFMAT (X, Y, YP)
C***BEGIN PROLOGUE  DFMAT
C***PURPOSE  Subsidiary to
C***LIBRARY   SLATEC
C***AUTHOR  (UNKNOWN)
C***ROUTINES CALLED  (NONE)
C***COMMON BLOCKS    DSAVEX
C***REVISION HISTORY  (YYMMDD)
C   ??????  DATE WRITTEN
C   891214  Prologue converted to Version 4.0 format.  (BAB)
C***END PROLOGUE  DFMAT
      DOUBLE PRECISION X,Y,YP,XSAVE,TERM,TANX
      DIMENSION Y(*),YP(*)
      COMMON /DSAVEX/ XSAVE, TERM
C***FIRST EXECUTABLE STATEMENT  DFMAT
      YP(1) = Y(2)
      IF (X .EQ. XSAVE) GO TO 10
      XSAVE=X
      TANX= TAN(X/57.2957795130823D0)
      TERM= 3.0D0/TANX+2.0D0*TANX
   10 YP(2) = -TERM*Y(2)-0.7D0*Y(1)
      RETURN
      END
