C***********************************************************************
C     BTENSCJ
C***********************************************************************
C
      SUBROUTINE btenscj
     > (NBL,NBA,NTO,NLBE,IBL,IBA,ITO,ILBE,X,Y,Z,NATOM,BI,BT,NINT,NCAR,
     >  MAXINT,MAXCA2,NATOMS,MAXCAR,T)
C
c     this routine is a modified version of BTENS in polyrate.
c     in order to get the C tensor                                      0521JV98
c
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES THE TENSOR DX/DR D2R/DX2 DX/DR
C
      DIMENSION IBL(2,MAXINT),IBA(3,MAXINT),ITO(4,MAXINT),ILBE(3,MAXINT)
      DIMENSION X(NATOMS),Y(NATOMS),Z(NATOMS)
      DIMENSION BI(MAXCAR,MAXCAR),BT(MAXINT,MAXCA2)
C
      DIMENSION BTEN(78),BANIJK(9),BANJKL(9),BTIJKL(12)
      DIMENSION INDEX(12),IBUMP(12)
      DIMENSION T(3,3),BTEMP(81),TBAR(81)
C
      PARAMETER (ZERO=0.D0, ONE=1.D0, TWO=2.D0)
C
      DATA INDEX/1,1,1,2,2,2,3,3,3,4,4,4/
      DATA IBUMP/0,1,2,0,1,2,0,1,2,0,1,2/
C
C
C     ZERO THE BT TENSOR
C
      IPOINT=0
      DO 10 I=1,ncar
      DO 10 J=1,I
      IPOINT=IPOINT+1
      DO 11 K=1,ncar
   11 BT(K,IPOINT)=ZERO
   10 CONTINUE
c
c  define bi as the identity matrix                                     0521JV98
c
      do i = 1, ncar
         do j = 1, ncar
            if (i .eq. j) bi(i,j) = one
            if (i .ne. j) bi(i,j) = zero
         end do
      end do
C
C     BOND LENGTHS
C
      LINT = 0
C
      DO 20 IJ=1,NBL
      LINT=LINT+1
      I=IBL(1,IJ)
      J=IBL(2,IJ)
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
C
C     (I1,I1)->1
C
      BTEN(1)=ONE/RIJ-RIJ1**2/RIJ**3
C
C     (I1,I2)->2
C
      BTEN(2)=-(RIJ1*RIJ2/RIJ**3)
C
C     (I1,I3)->4
C
      BTEN(4)=-(RIJ1*RIJ3/RIJ**3)
C
C     (I1,J1)->7
C
      BTEN(7)=-(ONE/RIJ)+RIJ1**2/RIJ**3
C
C     (I1,J2)->11
C
      BTEN(11)=RIJ1*RIJ2/RIJ**3
C
C     (I1,J3)->16
C
      BTEN(16)=RIJ1*RIJ3/RIJ**3
C
C     (I2,I2)->3
C
      BTEN(3)=ONE/RIJ-RIJ2**2/RIJ**3
C
C     (I2,I3)->5
C
      BTEN(5)=-(RIJ2*RIJ3/RIJ**3)
C
C     (I2,J1)->8
C
      BTEN(8)=RIJ1*RIJ2/RIJ**3
C
C     (I2,J2)->12
C
      BTEN(12)=-(ONE/RIJ)+RIJ2**2/RIJ**3
C
C     (I2,J3)->17
C
      BTEN(17)=RIJ2*RIJ3/RIJ**3
C
C     (I3,I3)->6
C
      BTEN(6)=ONE/RIJ-RIJ3**2/RIJ**3
C
C     (I3,J1)->9
C
      BTEN(9)=RIJ1*RIJ3/RIJ**3
C
C     (I3,J2)->13
C
      BTEN(13)=RIJ2*RIJ3/RIJ**3
C
C     (I3,J3)->18
C
      BTEN(18)=-(ONE/RIJ)+RIJ3**2/RIJ**3
C
C     (J1,J1)->10
C
      BTEN(10)=ONE/RIJ-RIJ1**2/RIJ**3
C
C     (J1,J2)->14
C
      BTEN(14)=-(RIJ1*RIJ2/RIJ**3)
C
C     (J1,J3)->19
C
      BTEN(19)=-(RIJ1*RIJ3/RIJ**3)
C
C     (J2,J2)->15
C
      BTEN(15)=ONE/RIJ-RIJ2**2/RIJ**3
C
C     (J2,J3)->20
C
      BTEN(20)=-(RIJ2*RIJ3/RIJ**3)
C
C     (J3,J3)->21
C
      BTEN(21)=ONE/RIJ-RIJ3**2/RIJ**3
C        
      DO 30 II=1,ncar
      DO 31 KK=1,II
      SUM=ZERO
C
      DO 32 MC=1,6
      M=3*IBL(INDEX(MC),IJ)-2+IBUMP(MC)
      DO 33 NC=1,MC-1
      N=3*IBL(INDEX(NC),IJ)-2+IBUMP(NC)
      IPOINT=NC+MC*(MC-1)/2
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   33 CONTINUE
 
      DO 34 NC=MC,6
      N=3*IBL(INDEX(NC),IJ)-2+IBUMP(NC)
      IPOINT=MC+NC*(NC-1)/2
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   34 CONTINUE
   32 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   31 CONTINUE
   30 CONTINUE
   20 CONTINUE
C
C     BOND ANGLES
C
      DO 40 IJK=1,NBA
      LINT=LINT+1
      I=IBA(1,IJK)
      J=IBA(2,IJK)
      K=IBA(3,IJK)
      CALL YBANGLE1(I,J,K,X,Y,Z,NATOMS,BANIJK)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
C
C     (I1,I1)->1
C
      BTEN(1)=(CIJK*RIJ**2-CIJK*RIJ1**2+
     >TWO*SIJK*RIJ**2*RIJ1*BANIJK(1)-
     >CIJK*RIJ**4*BANIJK(1)**2)/(SIJK*RIJ**4)
C
C     (I1,I2)->2
C
      BTEN(2)=-(CIJK*RIJ1*RIJ2/(SIJK*RIJ**4))+
     >RIJ2*BANIJK(1)/RIJ**2+RIJ1*BANIJK(2)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(2)/SIJK
C
C     (I1,I3)->4
C
      BTEN(4)=-(CIJK*RIJ1*RIJ3/(SIJK*RIJ**4))+
     >RIJ1*BANIJK(3)/RIJ**2+RIJ3*BANIJK(1)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(1)/SIJK
C
C     (I1,J1)->7
C
      BTEN(7)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ1**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)-
     >RIJ1*BANIJK(1)/RIJ**2+RJK1*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(4)/SIJK
C
C     (I1,J2)->11
C
      BTEN(11)=CIJK*RIJ1*RIJ2/(SIJK*RIJ**4)+
     >CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)-
     >RIJ2*BANIJK(1)/RIJ**2+RJK2*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(5)/SIJK
C
C     (I1,J3)->16
C
      BTEN(16)=CIJK*RIJ1*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(1)/RIJ**2+RJK3*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(6)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(6)/SIJK
C
C     (I1,K1)->22
C
      BTEN(22)=-((RIJ*RJK+CIJK*RIJ1*RJK1+
     >SIJK*RIJ**2*RJK1*BANIJK(1)-
     >SIJK*RIJ1*RJK**2*BANIJK(7)+
     >CIJK*RIJ**2*RJK**2*BANIJK(1)*BANIJK(7))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (I1,K2)->29
C
      BTEN(29)=-(CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2))-
     >RJK2*BANIJK(1)/RJK**2+RIJ1*BANIJK(8)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(8)/SIJK
C
C     (I1,K3)->37
C
      BTEN(37)=-(CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2))-
     >RJK3*BANIJK(1)/RJK**2+RIJ1*BANIJK(9)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(9)/SIJK
C
C     (I2,I2)->3
C
      BTEN(3)=(CIJK*RIJ**2-CIJK*RIJ2**2+
     >TWO*SIJK*RIJ**2*RIJ2*BANIJK(2)-
     >CIJK*RIJ**4*BANIJK(2)**2)/(SIJK*RIJ**4)
C
C     (I2,I3)->5
C
      BTEN(5)=-(CIJK*RIJ2*RIJ3/(SIJK*RIJ**4))+
     >RIJ2*BANIJK(3)/RIJ**2+RIJ3*BANIJK(2)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(2)/SIJK
C
C     (I2,J1)->8
C
      BTEN(8)=CIJK*RIJ1*RIJ2/(SIJK*RIJ**4)+
     >CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)-
     >RIJ1*BANIJK(2)/RIJ**2+RJK1*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(4)/SIJK
C
C     (I2,J2)->12
C
      BTEN(12)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ2**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)-
     >RIJ2*BANIJK(2)/RIJ**2+RJK2*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(5)/SIJK
C
C     (I2,J3)->17
C
      BTEN(17)=CIJK*RIJ2*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(2)/RIJ**2+RJK3*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(6)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(6)/SIJK
C
C     (I2,K1)->23
C
      BTEN(23)=-(CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2))-
     >RJK1*BANIJK(2)/RJK**2+RIJ2*BANIJK(7)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(7)/SIJK
C
C     (I2,K2)->30
C
      BTEN(30)=-((RIJ*RJK+CIJK*RIJ2*RJK2+
     >SIJK*RIJ**2*RJK2*BANIJK(2)-
     >SIJK*RIJ2*RJK**2*BANIJK(8)+
     >CIJK*RIJ**2*RJK**2*BANIJK(2)*BANIJK(8))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (I2,K3)->38
C
      BTEN(38)=-(CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2))-
     >RJK3*BANIJK(2)/RJK**2+RIJ2*BANIJK(9)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(9)/SIJK
C
C     (I3,I3)->6
C
      BTEN(6)=(CIJK*RIJ**2-CIJK*RIJ3**2+
     >TWO*SIJK*RIJ**2*RIJ3*BANIJK(3)-
     >CIJK*RIJ**4*BANIJK(3)**2)/
     >(SIJK*RIJ**4)
C
C     (I3,J1)->9
C
      BTEN(9)=CIJK*RIJ1*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)-RIJ1*BANIJK(3)/RIJ**2+
     >RJK1*BANIJK(3)/RJK**2+RIJ3*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(4)/SIJK
C
C     (I3,J2)->13
C
      BTEN(13)=CIJK*RIJ2*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)-RIJ2*BANIJK(3)/RIJ**2+
     >RJK2*BANIJK(3)/RJK**2+RIJ3*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(5)/SIJK
C
C     (I3,J3)->18
C
      BTEN(18)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ3**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(3)/RIJ**2+RJK3*BANIJK(3)/RJK**2+
     >RIJ3*BANIJK(6)/RIJ**2-CIJK*BANIJK(3)*BANIJK(6)/SIJK
C
C     (I3,K1)->24
C
      BTEN(24)=-(CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2))-
     >RJK1*BANIJK(3)/RJK**2+RIJ3*BANIJK(7)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(7)/SIJK
C
C     (I3,K2)->31
C
      BTEN(31)=-(CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2))-
     >RJK2*BANIJK(3)/RJK**2+RIJ3*BANIJK(8)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(8)/SIJK
C
C     (I3,K3)->39
C
      BTEN(39)=-((RIJ*RJK+CIJK*RIJ3*RJK3+
     >SIJK*RIJ**2*RJK3*BANIJK(3)-
     >SIJK*RIJ3*RJK**2*BANIJK(9)+
     >CIJK*RIJ**2*RJK**2*BANIJK(3)*BANIJK(9))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (J1,J1)->10
C
      BTEN(10)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ1**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RJK1**2/(SIJK*RJK**4)-
     >TWO*RIJ1*BANIJK(4)/RIJ**2+
     >TWO*RJK1*BANIJK(4)/RJK**2-CIJK*BANIJK(4)**2/SIJK
C
C     (J1,J2)->14
C
      BTEN(14)=-(CIJK*RIJ1*RIJ2/(SIJK*RIJ**4))-
     >CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)-CIJK*RJK1*RJK2/(SIJK*RJK**4)-
     >RIJ2*BANIJK(4)/RIJ**2+RJK2*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(5)/RIJ**2+RJK1*BANIJK(5)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(5)/SIJK
C
C     (J1,J3)->19
C
      BTEN(19)=-(CIJK*RIJ1*RIJ3/(SIJK*RIJ**4))-
     >CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)-CIJK*RJK1*RJK3/(SIJK*RJK**4)-
     >RIJ1*BANIJK(6)/RIJ**2+RJK1*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(4)/RIJ**2+RJK3*BANIJK(4)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(4)/SIJK
C
C     (J1,K1)->25
C
      BTEN(25)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)+CIJK*RJK1**2/(SIJK*RJK**4)-
     >RJK1*BANIJK(4)/RJK**2-RIJ1*BANIJK(7)/RIJ**2+
     >RJK1*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(7)/SIJK
C
C     (J1,K2)->32
C
      BTEN(32)=CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK2/(SIJK*RJK**4)-RJK2*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(8)/RIJ**2+RJK1*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(8)/SIJK
C
C     (J1,K3)->40
C
      BTEN(40)=CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK3/(SIJK*RJK**4)-RJK3*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(9)/RIJ**2+RJK1*BANIJK(9)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(9)/SIJK
C
C     (J2,J2)->15
C
      BTEN(15)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ2**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)
     >-CIJK*RJK2**2/(SIJK*RJK**4)-
     >TWO*RIJ2*BANIJK(5)/RIJ**2+
     >TWO*RJK2*BANIJK(5)/RJK**2-CIJK*BANIJK(5)**2/SIJK
C
C     (J2,J3)->20
C
      BTEN(20)=-(CIJK*RIJ2*RIJ3/(SIJK*RIJ**4))-
     >CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)-CIJK*RJK2*RJK3/(SIJK*RJK**4)-
     >RIJ2*BANIJK(6)/RIJ**2+RJK2*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(5)/RIJ**2+RJK3*BANIJK(5)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(5)/SIJK
C
C     (J2,K1)->26
C
      BTEN(26)=CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK2/(SIJK*RJK**4)-RJK1*BANIJK(5)/RJK**2-
     >RIJ2*BANIJK(7)/RIJ**2+RJK2*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(7)/SIJK
C
C     (J2,K2)->33
C
      BTEN(33)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)+CIJK*RJK2**2/(SIJK*RJK**4)-
     >RJK2*BANIJK(5)/RJK**2-RIJ2*BANIJK(8)/RIJ**2+
     >RJK2*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(8)/SIJK
C
C     (J2,K3)->41
C
      BTEN(41)=CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK2*RJK3/(SIJK*RJK**4)-RJK3*BANIJK(5)/RJK**2-
     >RIJ2*BANIJK(9)/RIJ**2+RJK2*BANIJK(9)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(9)/SIJK
C
C     (J3,J3)->21
C
      BTEN(21)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ3**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RJK3**2/(SIJK*RJK**4)-
     >TWO*RIJ3*BANIJK(6)/RIJ**2+TWO*RJK3*BANIJK(6)/RJK**2-
     >CIJK*BANIJK(6)**2/SIJK
C
C     (J3,K1)->27
C
      BTEN(27)=CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK3/(SIJK*RJK**4)-RJK1*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(7)/RIJ**2+RJK3*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(7)/SIJK
C
C     (J3,K2)->34
C
      BTEN(34)=CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK2*RJK3/(SIJK*RJK**4)-RJK2*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(8)/RIJ**2+RJK3*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(8)/SIJK
C
C     (J3,K3)->42
C
      BTEN(42)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)+CIJK*RJK3**2/(SIJK*RJK**4)-
     >RJK3*BANIJK(6)/RJK**2-RIJ3*BANIJK(9)/RIJ**2+
     >RJK3*BANIJK(9)/RJK**2-CIJK*BANIJK(6)*BANIJK(9)/SIJK
C
C     (K1,K1)->28
C
      BTEN(28)=(CIJK*RJK**2-CIJK*RJK1**2-
     >TWO*SIJK*RJK**2*RJK1*BANIJK(7)-
     >CIJK*RJK**4*BANIJK(7)**2)/(SIJK*RJK**4)
C
C     (K1,K2)->35
C
      BTEN(35)=-(CIJK*RJK1*RJK2/(SIJK*RJK**4))-
     >RJK2*BANIJK(7)/RJK**2-RJK1*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(7)*BANIJK(8)/SIJK
C
C     (K1,K3)->43
C
      BTEN(43)=-(CIJK*RJK1*RJK3/(SIJK*RJK**4))-
     >RJK1*BANIJK(9)/RJK**2-RJK3*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(9)*BANIJK(7)/SIJK
C
C     (K2,K2)->36
C
      BTEN(36)=(CIJK*RJK**2-CIJK*RJK2**2-
     >TWO*SIJK*RJK**2*RJK2*BANIJK(8)-
     >CIJK*RJK**4*BANIJK(8)**2)/(SIJK*RJK**4)
C
C     (K2,K3)->44
C
      BTEN(44)=-(CIJK*RJK2*RJK3/(SIJK*RJK**4))-
     >RJK2*BANIJK(9)/RJK**2-RJK3*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(9)*BANIJK(8)/SIJK
C
C     (K3,K3)->45
C
      BTEN(45)=(CIJK*RJK**2-CIJK*RJK3**2-
     >TWO*SIJK*RJK**2*RJK3*BANIJK(9)-
     >CIJK*RJK**4*BANIJK(9)**2)/
     >(SIJK*RJK**4)
C
      DO 41 II=1,ncar
      DO 41 KK=1,II
      SUM=ZERO
C
      DO 42 MC=1,9
      M=3*IBA(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 43 NC=1,MC-1
      N=3*IBA(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   43 CONTINUE
C
      DO 42 NC=MC,9
      N=3*IBA(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   42 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   41 CONTINUE        
   40 CONTINUE
C
C     TORSIONAL ANGLES
C
      DO 50 IJKL=1,NTO
      LINT=LINT+1
      I=ITO(1,IJKL)
      J=ITO(2,IJKL)
      K=ITO(3,IJKL)
      L=ITO(4,IJKL)
      CALL YBANGLE1(I,J,K,X,Y,Z,NATOMS,BANIJK)
      CALL YBANGLE1(J,K,L,X,Y,Z,NATOMS,BANJKL)
      CALL YBTORSN(I,J,K,L,X,Y,Z,NATOMS,BTIJKL)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RKL1=X(L)-X(K)
      RKL2=Y(L)-Y(K)
      RKL3=Z(L)-Z(K)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RKL=YDIST(K,L,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
      PJKL=YANGL(J,K,L,X,Y,Z,NATOMS)
      CJKL=YCOSE(PJKL)
      SJKL=YSINE(PJKL)
      CIJKL=((-RIJ2*RJK1+RIJ1*RJK2)*(-RJK2*RKL1+RJK1*RKL2)+
     > (RIJ3*RJK1-RIJ1*RJK3)*(RJK3*RKL1-RJK1*RKL3)+
     > (-RIJ3*RJK2+RIJ2*RJK3)*(-RJK3*RKL2+RJK2*RKL3))/
     > (SIJK*SJKL*RIJ*RJK*RJK*RKL)
      SIJKL=((-RIJ3*RJK2+RIJ2*RJK3)*RKL1+(RIJ3*RJK1-RIJ1*RJK3)*RKL2+
     > (-(RIJ2*RJK1)+RIJ1*RJK2)*RKL3)/(RIJ*RJK*RKL*SIJK*SJKL)
C
C     (I1,I1)->1
C
      BTEN(1)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)+
     >TWO*RIJ1*BTIJKL(1)/RIJ**2+SIJKL*BTIJKL(1)**2/CIJKL-
     >TWO*CIJK*BTIJKL(1)*BANIJK(1)/SIJK+
     >SIJKL*BANIJK(1)**2/(CIJKL*SIJK**2)
C
C     (I1,I2)->2
C
      BTEN(2)=SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(1)*BTIJKL(2)/CIJKL+
     >(RIJ2*BTIJKL(1)+RIJ1*BTIJKL(2))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(2)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(2)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(2))/SIJK
C
C     (I1,I3)->4
C
      BTEN(4)=SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(3)*BTIJKL(1)/CIJKL+
     >(RIJ1*BTIJKL(3)+RIJ3*BTIJKL(1))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(1)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(1)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(1))/SIJK
C
C     (I1,J1)->7
C
      BTEN(7)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK1*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(1))+RIJ1*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,J2)->11
C
      BTEN(11)=-(SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK2*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(1))+RIJ1*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,J3)->16
C
      BTEN(16)=-(SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK3*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(1))+RIJ1*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(6))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I1,K1)->22
C
      BTEN(22)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RJK1*BTIJKL(1)/RJK**2+RKL1*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,K2)->29
C
      BTEN(29)=SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >(-RJK3-RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK2*BTIJKL(1)/RJK**2+RKL2*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,K3)->37
C
      BTEN(37)=SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(RJK2+RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RJK3*BTIJKL(1)/RJK**2+RKL3*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(9))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I1,L1)->46
C
      BTEN(46)=SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RKL1*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,L2)->56
C
      BTEN(56)=RJK3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RKL2*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,L3)->67
C
      BTEN(67)=-(RJK2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (I2,I2)->3
C
      BTEN(3)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)+
     >TWO*RIJ2*BTIJKL(2)/RIJ**2+SIJKL*BTIJKL(2)**2/CIJKL-
     >TWO*CIJK*BTIJKL(2)*BANIJK(2)/SIJK+
     >SIJKL*BANIJK(2)**2/(CIJKL*SIJK**2)
C
C     (I2,I3)->5
C
      BTEN(5)=SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(3)*BTIJKL(2)/CIJKL+
     >(RIJ2*BTIJKL(3)+RIJ3*BTIJKL(2))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(2)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(2)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(2))/SIJK
C
C     (I2,J1)->8
C
      BTEN(8)=-(SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK1*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(2))+RIJ2*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,J2)->12
C
      BTEN(12)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK2*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(2))+RIJ2*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,J3)->17
C
      BTEN(17)=-(SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK3*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(2))+RIJ2*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(6))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I2,K1)->23
C
      BTEN(23)=SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >(RJK3+RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK1*BTIJKL(2)/RJK**2+RKL1*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,K2)->30
C
      BTEN(30)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RJK2*BTIJKL(2)/RJK**2+RKL2*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,K3)->38
C
      BTEN(38)=SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(-RJK1-RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RJK3*BTIJKL(2)/RJK**2+RKL3*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(9))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I2,L1)->47
C
      BTEN(47)=-(RJK3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RKL1*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,L2)->57
C
      BTEN(57)=SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RKL2*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,L3)->68
C
      BTEN(68)=RJK1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (I3,I3)->6
C
      BTEN(6)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)+TWO*RIJ3*BTIJKL(3)/RIJ**2+
     >SIJKL*BTIJKL(3)**2/CIJKL-
     >TWO*CIJK*BTIJKL(3)*BANIJK(3)/SIJK+
     >SIJKL*BANIJK(3)**2/(CIJKL*SIJK**2)
C
C     (I3,J1)->9
C
      BTEN(9)=-(SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK1*BTIJKL(3)/RJK**2+
     >SIJKL*BTIJKL(3)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(3))+RIJ3*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(1)/(CIJKL*SIJK*SJKL)
C
C     (I3,J2)->13
C
      BTEN(13)=-(SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK2*BTIJKL(3)/RJK**2+
     >SIJKL*BTIJKL(3)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(3))+RIJ3*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(2)/(CIJKL*SIJK*SJKL)
C
C     (I3,J3)->18
C
      BTEN(18)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK3*BTIJKL(3)/RJK**2+SIJKL*BTIJKL(3)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(3))+RIJ3*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(3))-BTIJKL(3)*BANIJK(6))/
     >SIJK+CJKL*SIJKL*RIJ3*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I3,K1)->24
C
      BTEN(24)=SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >(-RJK2-RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK1*BTIJKL(3)/RJK**2+RKL1*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(4)/(CIJKL*SIJK*SJKL)
C
C     (I3,K2)->31
C
      BTEN(31)=SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(RJK1+RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-RJK2*BTIJKL(3)/RJK**2+
     >RKL2*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(5)/(CIJKL*SIJK*SJKL)
C
C     (I3,K3)->39
C
      BTEN(39)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-RJK3*BTIJKL(3)/RJK**2+
     >RKL3*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(3))-BTIJKL(3)*BANIJK(9))/
     >SIJK+CJKL*SIJKL*RIJ3*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I3,L1)->48
C
      BTEN(48)=RJK2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)-RKL1*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(7)/(CIJKL*SIJK*SJKL)
C
C     (I3,L2)->58
C
      BTEN(58)=-(RJK1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-RKL2*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(8)/(CIJKL*SIJK*SJKL)
C
C     (I3,L3)->69
C
      BTEN(69)=SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (J1,J1)->10
C
      BTEN(10)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK1**2/(CIJKL*RJK**4)+SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-
     >TWO*RIJ1*BTIJKL(4)/RIJ**2+TWO*RJK1*BTIJKL(4)/RJK**2+
     >SIJKL*BTIJKL(4)**2/CIJKL-
     >TWO*CIJK*BTIJKL(4)*BANIJK(4)/SIJK+
     >SIJKL*BANIJK(4)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ1*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(4)*BANJKL(1)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)**2/(CIJKL*SJKL**2)
C
C     (J1,J2)->14
C
      BTEN(14)=SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ2*RJK1+SIJKL*RIJ1*RJK2)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(4)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(4))-RIJ1*BTIJKL(5))/RIJ**2+
     >(RJK2*BTIJKL(4)+RJK1*BTIJKL(5))/RJK**2+
     >SIJKL*BANIJK(4)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(5))/SIJK+
     >SIJKL*BANJKL(1)*BANJKL(2)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ2*BANJKL(1))-
     >SIJKL*RIJ1*BANJKL(2))/(CIJKL*SJKL*RIJ**2)+
     >CJKL*(-(BTIJKL(5)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(2))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(5)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(2))/(CIJKL*SIJK*SJKL)
C
C     (J1,J3)->19
C
      BTEN(19)=SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ3*RJK1+SIJKL*RIJ1*RJK3)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(6)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(6))-RIJ3*BTIJKL(4))/RIJ**2+
     >(RJK1*BTIJKL(6)+RJK3*BTIJKL(4))/RJK**2+
     >SIJKL*BANIJK(6)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(4))/SIJK+
     >SIJKL*BANJKL(3)*BANJKL(1)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ1*BANJKL(3))-SIJKL*RIJ3*BANJKL(1))/
     >(CIJKL*SJKL*RIJ**2)+CJKL*
     >(-(BTIJKL(4)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(1))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(4)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(1))/(CIJKL*SIJK*SJKL)
C
C     (J1,K1)->25
C
      BTEN(25)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK1**2/(CIJKL*RJK**4)-SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL1*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(4))+RJK1*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J1,K2)->32
C
      BTEN(32)=-(SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(RIJ3+RJK3+RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL2*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(4))+RJK1*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J1,K3)->40
C
      BTEN(40)=-(SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(-RIJ2-RJK2-RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(4))+RJK1*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(9))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(6))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J1,L1)->49
C
      BTEN(49)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(10)/RIJ**2+
     >RJK1*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(7))/SJKL
C
C     (J1,L2)->59
C
      BTEN(59)=(-RIJ3-RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(11)/RIJ**2+
     >RJK1*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(8))/SJKL
C
C     (J1,L3)->70
C
      BTEN(70)=(RIJ2+RJK2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(12)/RIJ**2+
     >RJK1*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(1)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(9))/SJKL
C
C     (J2,J2)->15
C
      BTEN(15)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK2**2/(CIJKL*RJK**4)+SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-
     >TWO*RIJ2*BTIJKL(5)/RIJ**2+TWO*RJK2*BTIJKL(5)/RJK**2+
     >SIJKL*BTIJKL(5)**2/CIJKL-
     >TWO*CIJK*BTIJKL(5)*BANIJK(5)/SIJK+
     >SIJKL*BANIJK(5)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ2*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(5)*BANJKL(2)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)**2/(CIJKL*SJKL**2)
C
C     (J2,J3)->20
C
      BTEN(20)=SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ3*RJK2+SIJKL*RIJ2*RJK3)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(6)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(6))-RIJ3*BTIJKL(5))/RIJ**2+
     >(RJK2*BTIJKL(6)+RJK3*BTIJKL(5))/RJK**2+
     >SIJKL*BANIJK(6)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(5))/SIJK+
     >SIJKL*BANJKL(3)*BANJKL(2)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ2*BANJKL(3))-SIJKL*RIJ3*BANJKL(2))/
     >(CIJKL*SJKL*RIJ**2)+CJKL*
     >(-(BTIJKL(5)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(2))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(5)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(2))/(CIJKL*SIJK*SJKL)
C
C     (J2,K1)->26
C
      BTEN(26)=-(SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(-RIJ3-RJK3-RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL1*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(5))+RJK2*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J2,K2)->33
C
      BTEN(33)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK2**2/(CIJKL*RJK**4)-SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL2*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(5))+RJK2*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J2,K3)->41
C
      BTEN(41)=-(SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(RIJ1+RJK1+RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(5))+RJK2*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(9))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(6))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J2,L1)->50
C
      BTEN(50)=(RIJ3+RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(10)/RIJ**2+
     >RJK2*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(7))/SJKL
C
C     (J2,L2)->60
C
      BTEN(60)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(11)/RIJ**2+
     >RJK2*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(8))/SJKL
C
C     (J2,L3)->71
C
      BTEN(71)=(-RIJ1-RJK1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(12)/RIJ**2+
     >RJK2*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(2)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(9))/SJKL
C
C     (J3,J3)->21
C
      BTEN(21)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK3**2/(CIJKL*RJK**4)+SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-TWO*RIJ3*BTIJKL(6)/RIJ**2+
     >TWO*RJK3*BTIJKL(6)/RJK**2+SIJKL*BTIJKL(6)**2/CIJKL-
     >TWO*CIJK*BTIJKL(6)*BANIJK(6)/SIJK+
     >SIJKL*BANIJK(6)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ3*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(6)*BANJKL(3)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(3)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)**2/(CIJKL*SJKL**2)
C
C     (J3,K1)->27
C
      BTEN(27)=-(SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(RIJ2+RJK2+RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL1*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(6))+RJK3*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J3,K2)->34
C
      BTEN(34)=-(SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(-RIJ1-RJK1-RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL2*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(6))+RJK3*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J3,K3)->42
C
      BTEN(42)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK3**2/(CIJKL*RJK**4)-SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(6))+RJK3*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(6))-BTIJKL(6)*BANIJK(9))/
     >SIJK-CJKL*SIJKL*RIJ3*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(3))-BTIJKL(6)*BANJKL(6))/
     >SJKL+CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J3,L1)->51
C
      BTEN(51)=(-RIJ2-RJK2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(10)/RIJ**2+
     >RJK3*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(6)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(7)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(7))/SJKL
C
C     (J3,L2)->61
C
      BTEN(61)=(RIJ1+RJK1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(11)/RIJ**2+
     >RJK3*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(6)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(8)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(8))/SJKL
C
C     (J3,L3)->72
C
      BTEN(72)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(12)/RIJ**2+
     >RJK3*BTIJKL(12)/RJK**2+SIJKL*BTIJKL(6)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(3))-BTIJKL(6)*BANJKL(9))/
     >SJKL
C
C     (K1,K1)->28
C
      BTEN(28)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK1**2/(CIJKL*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RJK1*BTIJKL(7)/RJK**2+TWO*RKL1*BTIJKL(7)/RKL**2+
     >SIJKL*BTIJKL(7)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL1*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(7)*BANIJK(7)/SIJK+
     >SIJKL*BANIJK(7)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(7)*BANJKL(4)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)**2/(CIJKL*SJKL**2)
C
C     (K1,K2)->35
C
      BTEN(35)=-(SIJKL*RJK1*RJK2/(CIJKL*RJK**4))+
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK2*RKL1+SIJKL*RJK1*RKL2)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(7)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(7))-RJK1*BTIJKL(8))/RJK**2+
     >(RKL2*BTIJKL(7)+RKL1*BTIJKL(8))/RKL**2+
     >SIJKL*BANIJK(7)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL2*BANIJK(7)+SIJKL*RKL1*BANIJK(8))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(8)*BANIJK(7))-
     >BTIJKL(7)*BANIJK(8))/SIJK+
     >SIJKL*BANJKL(4)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(4))-
     >SIJKL*BANIJK(7)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (K1,K3)->43
C
      BTEN(43)=-(SIJKL*RJK1*RJK3/(CIJKL*RJK**4))+
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK3*RKL1+SIJKL*RJK1*RKL3)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(9)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(9))-RJK3*BTIJKL(7))/RJK**2+
     >(RKL1*BTIJKL(9)+RKL3*BTIJKL(7))/RKL**2+
     >SIJKL*BANIJK(9)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL1*BANIJK(9)+SIJKL*RKL3*BANIJK(7))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(7)*BANIJK(9))-
     >BTIJKL(9)*BANIJK(7))/SIJK+
     >SIJKL*BANJKL(6)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(6))-
     >SIJKL*BANIJK(9)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (K1,L1)->52
C
      BTEN(52)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-RJK1*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(7))+RKL1*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(7))/SJKL
C
C     (K1,L2)->62
C
      BTEN(62)=RIJ3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)-
     >RJK1*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(7))+RKL1*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(8))/SJKL
C
C     (K1,L3)->73
C
      BTEN(73)=-(RIJ2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)-RJK1*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(7))+RKL1*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(4)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(9))/SJKL
C
C     (K2,K2)->36
C
      BTEN(36)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK2**2/(CIJKL*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RJK2*BTIJKL(8)/RJK**2+TWO*RKL2*BTIJKL(8)/RKL**2+
     >SIJKL*BTIJKL(8)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL2*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(8)*BANIJK(8)/SIJK+
     >SIJKL*BANIJK(8)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(8)*BANJKL(5)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)**2/(CIJKL*SJKL**2)
C
C     (K2,K3)->44
C
      BTEN(44)=-(SIJKL*RJK2*RJK3/(CIJKL*RJK**4))+
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK3*RKL2+SIJKL*RJK2*RKL3)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(9)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(9))-RJK3*BTIJKL(8))/RJK**2+
     >(RKL2*BTIJKL(9)+RKL3*BTIJKL(8))/RKL**2+
     >SIJKL*BANIJK(9)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL2*BANIJK(9)+SIJKL*RKL3*BANIJK(8))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(8)*BANIJK(9))-
     >BTIJKL(9)*BANIJK(8))/SIJK+
     >SIJKL*BANJKL(6)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(6))-
     >SIJKL*BANIJK(9)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (K2,L1)->53
C
      BTEN(53)=-(RIJ3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)-
     >RJK2*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(8))+RKL2*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(7))/SJKL
C
C     (K2,L2)->63
C
      BTEN(63)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-RJK2*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(8))+RKL2*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(8))/SJKL
C
C     (K2,L3)->74
C
      BTEN(74)=RIJ1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)-RJK2*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(8))+RKL2*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(5)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(9))/SJKL
C
C     (K3,K3)->45
C
      BTEN(45)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK3**2/(CIJKL*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-TWO*RJK3*BTIJKL(9)/RJK**2+
     >TWO*RKL3*BTIJKL(9)/RKL**2+SIJKL*BTIJKL(9)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL3*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(9)*BANIJK(9)/SIJK+
     >SIJKL*BANIJK(9)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(9)*BANJKL(6)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(6)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)**2/(CIJKL*SJKL**2)
C
C     (K3,L1)->54
C
      BTEN(54)=RIJ2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)-
     >RJK3*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(9))+RKL3*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(7)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(7))/SJKL
C
C     (K3,L2)->64
C
      BTEN(64)=-(RIJ1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)-
     >RJK3*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(9))+RKL3*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(8)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(8))/SJKL
C
C     (K3,L3)->75
C
      BTEN(75)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-RJK3*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(9))+RKL3*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(6))-BTIJKL(9)*BANJKL(9))/
     >SJKL
C
C     (L1,L1)->55
C
      BTEN(55)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RKL1*BTIJKL(10)/RKL**2+SIJKL*BTIJKL(10)**2/CIJKL-
     >TWO*CJKL*BTIJKL(10)*BANJKL(7)/SJKL+
     >SIJKL*BANJKL(7)**2/(CIJKL*SJKL**2)
C
C     (L1,L2)->65
C
      BTEN(65)=SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(10)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(10))-RKL1*BTIJKL(11))/RKL**2+
     >SIJKL*BANJKL(7)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(7))-
     >BTIJKL(10)*BANJKL(8))/SJKL
C
C     (L1,L3)->76
C
      BTEN(76)=SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(12)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(12))-RKL3*BTIJKL(10))/RKL**2+
     >SIJKL*BANJKL(9)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(9))-
     >BTIJKL(12)*BANJKL(7))/SJKL
C
C     (L2,L2)->66
C
      BTEN(66)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RKL2*BTIJKL(11)/RKL**2+SIJKL*BTIJKL(11)**2/CIJKL-
     >TWO*CJKL*BTIJKL(11)*BANJKL(8)/SJKL+
     >SIJKL*BANJKL(8)**2/(CIJKL*SJKL**2)
C
C     (L2,L3)->77
C
      BTEN(77)=SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(12)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(12))-RKL3*BTIJKL(11))/RKL**2+
     >SIJKL*BANJKL(9)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(9))-
     >BTIJKL(12)*BANJKL(8))/SJKL
C
C     (L3,L3)->78
C
      BTEN(78)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-TWO*RKL3*BTIJKL(12)/RKL**2+
     >SIJKL*BTIJKL(12)**2/CIJKL-
     >TWO*CJKL*BTIJKL(12)*BANJKL(9)/SJKL+
     >SIJKL*BANJKL(9)**2/(CIJKL*SJKL**2)
C
      DO 51 II=1,ncar
      DO 51 KK=1,II
      SUM=ZERO
C
      DO 52 MC=1,12
      M=3*ITO(INDEX(MC),IJKL)-2+IBUMP(MC)
      DO 53 NC=1,MC-1
      N=3*ITO(INDEX(NC),IJKL)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   53 CONTINUE
C
      DO 52 NC=MC,12
      N=3*ITO(INDEX(NC),IJKL)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   52 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   51 CONTINUE        
   50 CONTINUE
C
C   linear bends - added 09xxYC96
C
      DO 60 IJK=1,NLBE
      LINT=LINT+1
      I=ILBE(1,IJK)
      J=ILBE(2,IJK)
      K=ILBE(3,IJK)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RIJT2=RIJ*RIJ
      RJKT2=RJK*RJK
      RIJT3=RIJ*RIJ*RIJ
      RJKT3=RJK*RJK*RJK
      DO IM = 1,45
       BTEN(IM) = ZERO
      ENDDO
      DO KM = 1,81
       TBAR(KM)= ZERO
      ENDDO
C
C set up tbar (transpose)
C is a diagonal matrix with T as blocks
C
       DO KM = 1,3
         DO JM = 1,3
           DO IM = 1,3
            TBAR((KM-1)*30+IM+(JM-1)*9)=T(IM,JM)
           ENDDO
         ENDDO
      ENDDO  
C
C  Ry mode; From MATHEMATICA
C
      BTEN(10) = 1.0d0/(RIJ*RJKT2) + 1.0d0/RIJT3
      BTEN(7)  = 1.0d0/RIJT3
      BTEN(25) = 1.0d0/(RIJ*RJKT2)
      BTEN(14) = 1.0d0/(RIJ*RJKT2) + 1.0d0/RIJT3
      BTEN(8)  = 1.0d0/RIJT3
      BTEN(32) = 1.0d0/(RIJ*RJKT2)
      BTEN(19) = -1.0d0+1.0d0/(RIJ*RJK)+(RIJ*RJK)+
     >           1.0d0/(RIJ*RJKT2)-RIJT2+1.0d0/RIJT3
      BTEN(9)  = -1.0d0/(RIJ*RJK)+RIJT2+1.0d0/RIJT3
      BTEN(40) = 1.0d0/(RIJ*RJK)-(RIJ*RJK)+1.0d0/(RIJ*RJKT2)
      BTEN(16) = 1.0d0/RIJT2
      BTEN(4)  = -1.0d0/RIJT2
      BTEN(27) = -1.0d0/RJKT2
      BTEN(43) = 1.0d0/RJKT2
      CALL YMATX(BTEMP,1,BTEN,-1,TBAR,1,9,9,9,9)
      CALL YMATX(BTEN,-1,TBAR,0,BTEMP,1,9,9,9,9)
C
      DO 61 II=1,ncar
      DO 61 KK=1,II
      SUM=ZERO
      DO 62 MC=1,9
      M=3*ILBE(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 63 NC=1,MC-1
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   63 CONTINUE
C
      DO 62 NC=MC,9
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   62 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   61 CONTINUE

      LINT=LINT+1
      DO IM = 1,45
       BTEN(IM) = ZERO
      ENDDO
C
C  Rx mode; from MATHEMATICA
C
      BTEN(14) = 1.0d0/(RIJ*RJKT2)+1.0d0/RIJT3
      BTEN(11) = 1.0d0/RIJT3
      BTEN(26) = 1.0d0/(RIJ*RJKT2)
      BTEN(15) = 1.0d0/(RIJ*RJKT2)+1.0d0/RIJT3
      BTEN(12) = 1.0d0/RIJT3
      BTEN(33) = 1.0d0/(RIJ*RJKT2)
      BTEN(20) = -1.0d0 + 1.0d0/(RIJ*RJK)+(RIJ*RJK)+
     >           1.0d0/(RIJ*RJKT2)-RIJT2+1.0d0/RIJT3
      BTEN(13) = -1.0d0/(RIJ*RJK)+RIJT2+1.0d0/RIJT3
      BTEN(41) = 1.0d0/(RIJ*RJK)-(RIJ*RJK)+1.0d0/(RIJ*RJKT2)
      BTEN(17) = 1.0d0/RIJT2
      BTEN(5)  = -1.0d0/RIJT2
      BTEN(34) = -1.0d0/RJKT2
      BTEN(44) = 1.0d0/RJKT2
      CALL YMATX(BTEMP,1,BTEN,-1,TBAR,1,9,9,9,9)
      CALL YMATX(BTEN,-1,TBAR,0,BTEMP,1,9,9,9,9)
C
      DO 71 II=1,ncar
      DO 71 KK=1,II
      SUM=ZERO
      DO 72 MC=1,9
      M=3*ILBE(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 73 NC=1,MC-1
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   73 CONTINUE
C
      DO 72 NC=MC,9
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   72 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   71 CONTINUE
   60 CONTINUE
C
C     ALL DONE
C
      RETURN 
      END
C***********************************************************************
C     FORMF2CJ
C***********************************************************************
C
      SUBROUTINE formf2cj(F2,BT,DXINT,MAXINT,MAXCA2,NINT,NCAR)
C
C
      implicit double precision (a-h,o-z)
C
C Form the second term of cartesian force constant matrix:
C     F2 = SUM [DXINT(k) * BT(k,l)]
C     l = nint*(nint+1)/2
C
      dimension bt(maxint,maxca2),f2(maxca2),dxint(maxint)
C
      DO 10 I = 1,NCAR
         DO 20 J = 1,I
           IPOINT = I*(I-1)/2 + J
              SUM = 0.0D0
              DO 30 K = 1,NINT
                 SUM = SUM + BT(K,IPOINT)*DXINT(K)
   30         CONTINUE
           F2(IPOINT)=SUM
   20    CONTINUE
   10 CONTINUE
      RETURN
      END
C**********************************************************************
C     FORMF2IJ
C***********************************************************************
C
      SUBROUTINE formf2ij(F2,BT,DXINT,MAXINT,MAXIN2,NINT)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C FORM THE SECOND TERM OF INTERNAL FORCE CONSTANT MATRIX
C      F2 = SUM [g(k) * BT(k,l)]
C      l = nint*(nint+1)/2
C
      DIMENSION BT(MAXINT,MAXIN2),F2(MAXIN2),DXINT(MAXINT)
C
      DO 10 I = 1,NINT
         DO 20 J = 1,I
           IPOINT = I*(I-1)/2 + J
              SUM = 0.0D0
              DO 30 K = 1,NINT
                 SUM = SUM + BT(K,IPOINT)*DXINT(K)
   30         CONTINUE
         F2(IPOINT)=SUM
   20    CONTINUE
   10 CONTINUE
      RETURN
      END
C***********************************************************************
C  TRANFCJ
C***********************************************************************
C
      subroutine tranfcj(hcar,b,work,hint,f2,natom,maxint,
     &                   maxcar,maxin2,maxca2,nint)
C
      implicit double precision (a-h,o-z)
C
C     Transforms the internal force constants to Cartesian 
C
      PARAMETER (ZERO=0.D0)
C
      DIMENSION hcar(maxca2),B(maxint,maxcar)
      DIMENSION work(maxint,maxcar)
      DIMENSION hint(maxin2)
      DIMENSION f2(maxca2)
C
      ncar=3*natom
C
C     TRANSFORM THE FIRST INDEX
C
      DO 10 I=1,ncar
         DO 20 J=1,nint
            SUM=ZERO
            DO 30 K=1,J
               IPOINT=J*(J-1)/2+K
               SUM=SUM+B(K,I)*hint(IPOINT)
   30       CONTINUE
            DO 40 K=J+1,nint
               IPOINT=K*(K-1)/2+J
               SUM=SUM+B(K,I)*hint(IPOINT)
   40       CONTINUE
         WORK(J,I)=SUM
   20    CONTINUE
   10 CONTINUE
C
C     TRANSFORM THE SECOND INDEX
C
      IPOINT=0
      DO 70 I=1,ncar
         DO 80 J=1,I
            IPOINT=IPOINT+1
            SUM=ZERO
            DO 90 K=1,nint
               SUM=SUM+B(K,I)*WORK(K,J)
   90       CONTINUE
            hcar(IPOINT)=SUM + F2(IPOINT)
   80    CONTINUE
   70 CONTINUE
C
C     ALL DONE
C
      RETURN
      END
C***********************************************************************
C  TRANGJ
C***********************************************************************
C
      subroutine trangj(x1,amat,x2,n1,n2,mx1,mx2)
c
      implicit double precision(a-h,o-z)
c
      parameter (zero=0.0d0)
c
      dimension amat(mx2,mx1)
      dimension x1(mx1),x2(mx2)
c
c     tranforms gradients from internal to Cartesian coordinates or
c     from Cartesian to internal
c
      do i=1, mx1
         x1(i) = zero
      enddo
c
      do i=1, n1                                                        0729JX98
         sum = zero
         do j = 1, n2                                                   0729JX98
            sum = sum + amat(j,i)*x2(j)
         end do
         x1(i) = sum
      enddo
c
      return
      end
C***********************************************************************
C  TRANLFJ
C***********************************************************************
C
      subroutine tranlfj(array1,array2,nco,idim1,idim2)
c
      implicit double precision (a-h,o-z)
c
      parameter (zero = 0.0d0)
c
      dimension array1(idim1),array2(idim2,idim2)
c
c this routine transforms a square matrix array2 (nco*nco)
c in a lower triangolar matrix array1 (nco*(nco+1)/2 order)
c Note that the dimension of the arrays are allowed to be different
c from nco and nco*(nco+1)/2.
c
      do i = 1, idim1
         array1(i) = zero
      end do
      ip=0
      do 20 i=1, nco
         do 10 j = 1, i
            ip=i*(i-1)/2 + j
            array1(ip) = array2(i,j)
10       continue
20    continue
c
      return
      end
C***********************************************************************
C     YANGL
C***********************************************************************
C
      DOUBLE PRECISION FUNCTION yangl(I,J,K,X,Y,Z,NATOMS)
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES THE ANGLE I-J-K
C
      DIMENSION X(NATOMS),Y(NATOMS),Z(NATOMS)
C
      YANGL=((X(J)-X(I))*(X(J)-X(K))+(Y(J)-Y(I))*(Y(J)-Y(K))+
     > (Z(J)-Z(I))*(Z(J)-Z(K)))
     > /(YDIST(I,J,X,Y,Z,NATOMS)*YDIST(J,K,X,Y,Z,NATOMS))
      IF (ABS(YANGL).GT.1) YANGL = 1.0d0
      YANGL=DACOS(YANGL)
C
      RETURN
      END
C***********************************************************************
C     YBANGLE1
C***********************************************************************
C
      SUBROUTINE ybangle1(I,J,K,X,Y,Z,NATOMS,BANG)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES ON LINE THE MATRIX DR/DX FOR BENDINGS
C
      DIMENSION BANG(9),X(NATOMS),Y(NATOMS),Z(NATOMS)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
      BANG(1)=(-CIJK*RIJ1*RJK-RIJ*RJK1)/(SIJK*RIJ**2*RJK)
      BANG(2)=(-CIJK*RIJ2*RJK-RIJ*RJK2)/(SIJK*RIJ**2*RJK)
      BANG(3)=(-CIJK*RIJ3*RJK-RIJ*RJK3)/(SIJK*RIJ**2*RJK)
      BANG(4)=
     > (-RIJ*RIJ1*RJK+CIJK*RIJ1*RJK**2-CIJK*RIJ**2*RJK1+RIJ*RJK*RJK1)
     > /(SIJK*RIJ**2*RJK**2)
      BANG(5)=
     > (-RIJ*RIJ2*RJK+CIJK*RIJ2*RJK**2-CIJK*RIJ**2*RJK2+RIJ*RJK*RJK2)
     > /(SIJK*RIJ**2*RJK**2)
      BANG(6)=
     > (-RIJ*RIJ3*RJK+CIJK*RIJ3*RJK**2-CIJK*RIJ**2*RJK3+RIJ*RJK*RJK3)
     > /(SIJK*RIJ**2*RJK**2)
      BANG(7)=(RIJ1*RJK+CIJK*RIJ*RJK1)/(SIJK*RIJ*RJK**2)
      BANG(8)=(RIJ2*RJK+CIJK*RIJ*RJK2)/(SIJK*RIJ*RJK**2)
      BANG(9)=(RIJ3*RJK+CIJK*RIJ*RJK3)/(SIJK*RIJ*RJK**2)
C
C     ALL DONE
C
      RETURN 
      END
C
C***********************************************************************
C     YBTENS
C***********************************************************************
C
      SUBROUTINE ybtens 
     > (NBL,NBA,NTO,NLBE,IBL,IBA,ITO,ILBE,X,Y,Z,NATOM,BI,BT,NINT,NCAR,
     >  MAXINT,MAXIN2,NATOMS,T)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES THE TENSOR DX/DR D2R/DX2 DX/DR
C
      DIMENSION IBL(2,MAXINT),IBA(3,MAXINT),ITO(4,MAXINT),ILBE(3,MAXINT)
      DIMENSION X(NATOMS),Y(NATOMS),Z(NATOMS)
      DIMENSION BI(3*NATOMS,MAXINT),BT(MAXINT,MAXIN2)
C
      DIMENSION BTEN(78),BANIJK(9),BANJKL(9),BTIJKL(12)
      DIMENSION INDEX(12),IBUMP(12)
      DIMENSION T(3,3),BTEMP(81),TBAR(81)
C
      PARAMETER (ZERO=0.D0, ONE=1.D0, TWO=2.D0)
C
      DATA INDEX/1,1,1,2,2,2,3,3,3,4,4,4/
      DATA IBUMP/0,1,2,0,1,2,0,1,2,0,1,2/
C
C
C     ZERO THE BT TENSOR
C
      IPOINT=0
      DO 10 I=1,NINT
      DO 10 J=1,I
      IPOINT=IPOINT+1
      DO 11 K=1,NINT
   11 BT(K,IPOINT)=ZERO
   10 CONTINUE
C
C     BOND LENGTHS
C
      LINT = 0
C
      DO 20 IJ=1,NBL
      LINT=LINT+1
      I=IBL(1,IJ)
      J=IBL(2,IJ)
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
C
C     (I1,I1)->1
C
      BTEN(1)=ONE/RIJ-RIJ1**2/RIJ**3
C
C     (I1,I2)->2
C
      BTEN(2)=-(RIJ1*RIJ2/RIJ**3)
C
C     (I1,I3)->4
C
      BTEN(4)=-(RIJ1*RIJ3/RIJ**3)
C
C     (I1,J1)->7
C
      BTEN(7)=-(ONE/RIJ)+RIJ1**2/RIJ**3
C
C     (I1,J2)->11
C
      BTEN(11)=RIJ1*RIJ2/RIJ**3
C
C     (I1,J3)->16
C
      BTEN(16)=RIJ1*RIJ3/RIJ**3
C
C     (I2,I2)->3
C
      BTEN(3)=ONE/RIJ-RIJ2**2/RIJ**3
C
C     (I2,I3)->5
C
      BTEN(5)=-(RIJ2*RIJ3/RIJ**3)
C
C     (I2,J1)->8
C
      BTEN(8)=RIJ1*RIJ2/RIJ**3
C
C     (I2,J2)->12
C
      BTEN(12)=-(ONE/RIJ)+RIJ2**2/RIJ**3
C
C     (I2,J3)->17
C
      BTEN(17)=RIJ2*RIJ3/RIJ**3
C
C     (I3,I3)->6
C
      BTEN(6)=ONE/RIJ-RIJ3**2/RIJ**3
C
C     (I3,J1)->9
C
      BTEN(9)=RIJ1*RIJ3/RIJ**3
C
C     (I3,J2)->13
C
      BTEN(13)=RIJ2*RIJ3/RIJ**3
C
C     (I3,J3)->18
C
      BTEN(18)=-(ONE/RIJ)+RIJ3**2/RIJ**3
C
C     (J1,J1)->10
C
      BTEN(10)=ONE/RIJ-RIJ1**2/RIJ**3
C
C     (J1,J2)->14
C
      BTEN(14)=-(RIJ1*RIJ2/RIJ**3)
C
C     (J1,J3)->19
C
      BTEN(19)=-(RIJ1*RIJ3/RIJ**3)
C
C     (J2,J2)->15
C
      BTEN(15)=ONE/RIJ-RIJ2**2/RIJ**3
C
C     (J2,J3)->20
C
      BTEN(20)=-(RIJ2*RIJ3/RIJ**3)
C
C     (J3,J3)->21
C
      BTEN(21)=ONE/RIJ-RIJ3**2/RIJ**3
C        
      DO 30 II=1,NINT
      DO 31 KK=1,II
      SUM=ZERO
C
      DO 32 MC=1,6
      M=3*IBL(INDEX(MC),IJ)-2+IBUMP(MC)
      DO 33 NC=1,MC-1
      N=3*IBL(INDEX(NC),IJ)-2+IBUMP(NC)
      IPOINT=NC+MC*(MC-1)/2
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   33 CONTINUE
 
      DO 34 NC=MC,6
      N=3*IBL(INDEX(NC),IJ)-2+IBUMP(NC)
      IPOINT=MC+NC*(NC-1)/2
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   34 CONTINUE
   32 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   31 CONTINUE
   30 CONTINUE
   20 CONTINUE
C
C     BOND ANGLES
C
      DO 40 IJK=1,NBA
      LINT=LINT+1
      I=IBA(1,IJK)
      J=IBA(2,IJK)
      K=IBA(3,IJK)
      CALL YBANGLE1(I,J,K,X,Y,Z,NATOMS,BANIJK)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
C
C     (I1,I1)->1
C
      BTEN(1)=(CIJK*RIJ**2-CIJK*RIJ1**2+
     >TWO*SIJK*RIJ**2*RIJ1*BANIJK(1)-
     >CIJK*RIJ**4*BANIJK(1)**2)/(SIJK*RIJ**4)
C
C     (I1,I2)->2
C
      BTEN(2)=-(CIJK*RIJ1*RIJ2/(SIJK*RIJ**4))+
     >RIJ2*BANIJK(1)/RIJ**2+RIJ1*BANIJK(2)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(2)/SIJK
C
C     (I1,I3)->4
C
      BTEN(4)=-(CIJK*RIJ1*RIJ3/(SIJK*RIJ**4))+
     >RIJ1*BANIJK(3)/RIJ**2+RIJ3*BANIJK(1)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(1)/SIJK
C
C     (I1,J1)->7
C
      BTEN(7)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ1**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)-
     >RIJ1*BANIJK(1)/RIJ**2+RJK1*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(4)/SIJK
C
C     (I1,J2)->11
C
      BTEN(11)=CIJK*RIJ1*RIJ2/(SIJK*RIJ**4)+
     >CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)-
     >RIJ2*BANIJK(1)/RIJ**2+RJK2*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(5)/SIJK
C
C     (I1,J3)->16
C
      BTEN(16)=CIJK*RIJ1*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(1)/RIJ**2+RJK3*BANIJK(1)/RJK**2+
     >RIJ1*BANIJK(6)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(6)/SIJK
C
C     (I1,K1)->22
C
      BTEN(22)=-((RIJ*RJK+CIJK*RIJ1*RJK1+
     >SIJK*RIJ**2*RJK1*BANIJK(1)-
     >SIJK*RIJ1*RJK**2*BANIJK(7)+
     >CIJK*RIJ**2*RJK**2*BANIJK(1)*BANIJK(7))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (I1,K2)->29
C
      BTEN(29)=-(CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2))-
     >RJK2*BANIJK(1)/RJK**2+RIJ1*BANIJK(8)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(8)/SIJK
C
C     (I1,K3)->37
C
      BTEN(37)=-(CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2))-
     >RJK3*BANIJK(1)/RJK**2+RIJ1*BANIJK(9)/RIJ**2-
     >CIJK*BANIJK(1)*BANIJK(9)/SIJK
C
C     (I2,I2)->3
C
      BTEN(3)=(CIJK*RIJ**2-CIJK*RIJ2**2+
     >TWO*SIJK*RIJ**2*RIJ2*BANIJK(2)-
     >CIJK*RIJ**4*BANIJK(2)**2)/(SIJK*RIJ**4)
C
C     (I2,I3)->5
C
      BTEN(5)=-(CIJK*RIJ2*RIJ3/(SIJK*RIJ**4))+
     >RIJ2*BANIJK(3)/RIJ**2+RIJ3*BANIJK(2)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(2)/SIJK
C
C     (I2,J1)->8
C
      BTEN(8)=CIJK*RIJ1*RIJ2/(SIJK*RIJ**4)+
     >CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)-
     >RIJ1*BANIJK(2)/RIJ**2+RJK1*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(4)/SIJK
C
C     (I2,J2)->12
C
      BTEN(12)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ2**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)-
     >RIJ2*BANIJK(2)/RIJ**2+RJK2*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(5)/SIJK
C
C     (I2,J3)->17
C
      BTEN(17)=CIJK*RIJ2*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(2)/RIJ**2+RJK3*BANIJK(2)/RJK**2+
     >RIJ2*BANIJK(6)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(6)/SIJK
C
C     (I2,K1)->23
C
      BTEN(23)=-(CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2))-
     >RJK1*BANIJK(2)/RJK**2+RIJ2*BANIJK(7)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(7)/SIJK
C
C     (I2,K2)->30
C
      BTEN(30)=-((RIJ*RJK+CIJK*RIJ2*RJK2+
     >SIJK*RIJ**2*RJK2*BANIJK(2)-
     >SIJK*RIJ2*RJK**2*BANIJK(8)+
     >CIJK*RIJ**2*RJK**2*BANIJK(2)*BANIJK(8))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (I2,K3)->38
C
      BTEN(38)=-(CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2))-
     >RJK3*BANIJK(2)/RJK**2+RIJ2*BANIJK(9)/RIJ**2-
     >CIJK*BANIJK(2)*BANIJK(9)/SIJK
C
C     (I3,I3)->6
C
      BTEN(6)=(CIJK*RIJ**2-CIJK*RIJ3**2+
     >TWO*SIJK*RIJ**2*RIJ3*BANIJK(3)-
     >CIJK*RIJ**4*BANIJK(3)**2)/
     >(SIJK*RIJ**4)
C
C     (I3,J1)->9
C
      BTEN(9)=CIJK*RIJ1*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)-RIJ1*BANIJK(3)/RIJ**2+
     >RJK1*BANIJK(3)/RJK**2+RIJ3*BANIJK(4)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(4)/SIJK
C
C     (I3,J2)->13
C
      BTEN(13)=CIJK*RIJ2*RIJ3/(SIJK*RIJ**4)+
     >CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)-RIJ2*BANIJK(3)/RIJ**2+
     >RJK2*BANIJK(3)/RJK**2+RIJ3*BANIJK(5)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(5)/SIJK
C
C     (I3,J3)->18
C
      BTEN(18)=-(CIJK/(SIJK*RIJ**2))+CIJK*RIJ3**2/(SIJK*RIJ**4)+
     >ONE/(SIJK*RIJ*RJK)+CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)-
     >RIJ3*BANIJK(3)/RIJ**2+RJK3*BANIJK(3)/RJK**2+
     >RIJ3*BANIJK(6)/RIJ**2-CIJK*BANIJK(3)*BANIJK(6)/SIJK
C
C     (I3,K1)->24
C
      BTEN(24)=-(CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2))-
     >RJK1*BANIJK(3)/RJK**2+RIJ3*BANIJK(7)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(7)/SIJK
C
C     (I3,K2)->31
C
      BTEN(31)=-(CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2))-
     >RJK2*BANIJK(3)/RJK**2+RIJ3*BANIJK(8)/RIJ**2-
     >CIJK*BANIJK(3)*BANIJK(8)/SIJK
C
C     (I3,K3)->39
C
      BTEN(39)=-((RIJ*RJK+CIJK*RIJ3*RJK3+
     >SIJK*RIJ**2*RJK3*BANIJK(3)-
     >SIJK*RIJ3*RJK**2*BANIJK(9)+
     >CIJK*RIJ**2*RJK**2*BANIJK(3)*BANIJK(9))/
     >(SIJK*RIJ**2*RJK**2))
C
C     (J1,J1)->10
C
      BTEN(10)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ1**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RJK1**2/(SIJK*RJK**4)-
     >TWO*RIJ1*BANIJK(4)/RIJ**2+
     >TWO*RJK1*BANIJK(4)/RJK**2-CIJK*BANIJK(4)**2/SIJK
C
C     (J1,J2)->14
C
      BTEN(14)=-(CIJK*RIJ1*RIJ2/(SIJK*RIJ**4))-
     >CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)-CIJK*RJK1*RJK2/(SIJK*RJK**4)-
     >RIJ2*BANIJK(4)/RIJ**2+RJK2*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(5)/RIJ**2+RJK1*BANIJK(5)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(5)/SIJK
C
C     (J1,J3)->19
C
      BTEN(19)=-(CIJK*RIJ1*RIJ3/(SIJK*RIJ**4))-
     >CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)-CIJK*RJK1*RJK3/(SIJK*RJK**4)-
     >RIJ1*BANIJK(6)/RIJ**2+RJK1*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(4)/RIJ**2+RJK3*BANIJK(4)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(4)/SIJK
C
C     (J1,K1)->25
C
      BTEN(25)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ1*RJK1/(SIJK*RIJ**2*RJK**2)+CIJK*RJK1**2/(SIJK*RJK**4)-
     >RJK1*BANIJK(4)/RJK**2-RIJ1*BANIJK(7)/RIJ**2+
     >RJK1*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(7)/SIJK
C
C     (J1,K2)->32
C
      BTEN(32)=CIJK*RIJ1*RJK2/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK2/(SIJK*RJK**4)-RJK2*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(8)/RIJ**2+RJK1*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(8)/SIJK
C
C     (J1,K3)->40
C
      BTEN(40)=CIJK*RIJ1*RJK3/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK3/(SIJK*RJK**4)-RJK3*BANIJK(4)/RJK**2-
     >RIJ1*BANIJK(9)/RIJ**2+RJK1*BANIJK(9)/RJK**2-
     >CIJK*BANIJK(4)*BANIJK(9)/SIJK
C
C     (J2,J2)->15
C
      BTEN(15)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ2**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)
     >-CIJK*RJK2**2/(SIJK*RJK**4)-
     >TWO*RIJ2*BANIJK(5)/RIJ**2+
     >TWO*RJK2*BANIJK(5)/RJK**2-CIJK*BANIJK(5)**2/SIJK
C
C     (J2,J3)->20
C
      BTEN(20)=-(CIJK*RIJ2*RIJ3/(SIJK*RIJ**4))-
     >CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)-CIJK*RJK2*RJK3/(SIJK*RJK**4)-
     >RIJ2*BANIJK(6)/RIJ**2+RJK2*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(5)/RIJ**2+RJK3*BANIJK(5)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(5)/SIJK
C
C     (J2,K1)->26
C
      BTEN(26)=CIJK*RIJ2*RJK1/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK2/(SIJK*RJK**4)-RJK1*BANIJK(5)/RJK**2-
     >RIJ2*BANIJK(7)/RIJ**2+RJK2*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(7)/SIJK
C
C     (J2,K2)->33
C
      BTEN(33)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ2*RJK2/(SIJK*RIJ**2*RJK**2)+CIJK*RJK2**2/(SIJK*RJK**4)-
     >RJK2*BANIJK(5)/RJK**2-RIJ2*BANIJK(8)/RIJ**2+
     >RJK2*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(8)/SIJK
C
C     (J2,K3)->41
C
      BTEN(41)=CIJK*RIJ2*RJK3/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK2*RJK3/(SIJK*RJK**4)-RJK3*BANIJK(5)/RJK**2-
     >RIJ2*BANIJK(9)/RIJ**2+RJK2*BANIJK(9)/RJK**2-
     >CIJK*BANIJK(5)*BANIJK(9)/SIJK
C
C     (J3,J3)->21
C
      BTEN(21)=CIJK/(SIJK*RIJ**2)-CIJK*RIJ3**2/(SIJK*RIJ**4)+
     >CIJK/(SIJK*RJK**2)-2/(SIJK*RIJ*RJK)-
     >TWO*CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)-
     >CIJK*RJK3**2/(SIJK*RJK**4)-
     >TWO*RIJ3*BANIJK(6)/RIJ**2+TWO*RJK3*BANIJK(6)/RJK**2-
     >CIJK*BANIJK(6)**2/SIJK
C
C     (J3,K1)->27
C
      BTEN(27)=CIJK*RIJ3*RJK1/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK1*RJK3/(SIJK*RJK**4)-RJK1*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(7)/RIJ**2+RJK3*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(7)/SIJK
C
C     (J3,K2)->34
C
      BTEN(34)=CIJK*RIJ3*RJK2/(SIJK*RIJ**2*RJK**2)+
     >CIJK*RJK2*RJK3/(SIJK*RJK**4)-RJK2*BANIJK(6)/RJK**2-
     >RIJ3*BANIJK(8)/RIJ**2+RJK3*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(6)*BANIJK(8)/SIJK
C
C     (J3,K3)->42
C
      BTEN(42)=-(CIJK/(SIJK*RJK**2))+ONE/(SIJK*RIJ*RJK)+
     >CIJK*RIJ3*RJK3/(SIJK*RIJ**2*RJK**2)+CIJK*RJK3**2/(SIJK*RJK**4)-
     >RJK3*BANIJK(6)/RJK**2-RIJ3*BANIJK(9)/RIJ**2+
     >RJK3*BANIJK(9)/RJK**2-CIJK*BANIJK(6)*BANIJK(9)/SIJK
C
C     (K1,K1)->28
C
      BTEN(28)=(CIJK*RJK**2-CIJK*RJK1**2-
     >TWO*SIJK*RJK**2*RJK1*BANIJK(7)-
     >CIJK*RJK**4*BANIJK(7)**2)/(SIJK*RJK**4)
C
C     (K1,K2)->35
C
      BTEN(35)=-(CIJK*RJK1*RJK2/(SIJK*RJK**4))-
     >RJK2*BANIJK(7)/RJK**2-RJK1*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(7)*BANIJK(8)/SIJK
C
C     (K1,K3)->43
C
      BTEN(43)=-(CIJK*RJK1*RJK3/(SIJK*RJK**4))-
     >RJK1*BANIJK(9)/RJK**2-RJK3*BANIJK(7)/RJK**2-
     >CIJK*BANIJK(9)*BANIJK(7)/SIJK
C
C     (K2,K2)->36
C
      BTEN(36)=(CIJK*RJK**2-CIJK*RJK2**2-
     >TWO*SIJK*RJK**2*RJK2*BANIJK(8)-
     >CIJK*RJK**4*BANIJK(8)**2)/(SIJK*RJK**4)
C
C     (K2,K3)->44
C
      BTEN(44)=-(CIJK*RJK2*RJK3/(SIJK*RJK**4))-
     >RJK2*BANIJK(9)/RJK**2-RJK3*BANIJK(8)/RJK**2-
     >CIJK*BANIJK(9)*BANIJK(8)/SIJK
C
C     (K3,K3)->45
C
      BTEN(45)=(CIJK*RJK**2-CIJK*RJK3**2-
     >TWO*SIJK*RJK**2*RJK3*BANIJK(9)-
     >CIJK*RJK**4*BANIJK(9)**2)/
     >(SIJK*RJK**4)
C
      DO 41 II=1,NINT
      DO 41 KK=1,II
      SUM=ZERO
C
      DO 42 MC=1,9
      M=3*IBA(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 43 NC=1,MC-1
      N=3*IBA(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   43 CONTINUE
C
      DO 42 NC=MC,9
      N=3*IBA(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   42 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   41 CONTINUE        
   40 CONTINUE
C
C     TORSIONAL ANGLES
C
      DO 50 IJKL=1,NTO
      LINT=LINT+1
      I=ITO(1,IJKL)
      J=ITO(2,IJKL)
      K=ITO(3,IJKL)
      L=ITO(4,IJKL)
      CALL YBANGLE1(I,J,K,X,Y,Z,NATOMS,BANIJK)
      CALL YBANGLE1(J,K,L,X,Y,Z,NATOMS,BANJKL)
      CALL YBTORSN(I,J,K,L,X,Y,Z,NATOMS,BTIJKL)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RKL1=X(L)-X(K)
      RKL2=Y(L)-Y(K)
      RKL3=Z(L)-Z(K)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RKL=YDIST(K,L,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
      PJKL=YANGL(J,K,L,X,Y,Z,NATOMS)
      CJKL=YCOSE(PJKL)
      SJKL=YSINE(PJKL)
      CIJKL=((-RIJ2*RJK1+RIJ1*RJK2)*(-RJK2*RKL1+RJK1*RKL2)+
     > (RIJ3*RJK1-RIJ1*RJK3)*(RJK3*RKL1-RJK1*RKL3)+
     > (-RIJ3*RJK2+RIJ2*RJK3)*(-RJK3*RKL2+RJK2*RKL3))/
     > (SIJK*SJKL*RIJ*RJK*RJK*RKL)
      SIJKL=((-RIJ3*RJK2+RIJ2*RJK3)*RKL1+(RIJ3*RJK1-RIJ1*RJK3)*RKL2+
     > (-(RIJ2*RJK1)+RIJ1*RJK2)*RKL3)/(RIJ*RJK*RKL*SIJK*SJKL)
C
C     (I1,I1)->1
C
      BTEN(1)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)+
     >TWO*RIJ1*BTIJKL(1)/RIJ**2+SIJKL*BTIJKL(1)**2/CIJKL-
     >TWO*CIJK*BTIJKL(1)*BANIJK(1)/SIJK+
     >SIJKL*BANIJK(1)**2/(CIJKL*SIJK**2)
C
C     (I1,I2)->2
C
      BTEN(2)=SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(1)*BTIJKL(2)/CIJKL+
     >(RIJ2*BTIJKL(1)+RIJ1*BTIJKL(2))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(2)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(2)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(2))/SIJK
C
C     (I1,I3)->4
C
      BTEN(4)=SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(3)*BTIJKL(1)/CIJKL+
     >(RIJ1*BTIJKL(3)+RIJ3*BTIJKL(1))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(1)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(1)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(1))/SIJK
C
C     (I1,J1)->7
C
      BTEN(7)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK1*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(1))+RIJ1*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,J2)->11
C
      BTEN(11)=-(SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK2*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(1))+RIJ1*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,J3)->16
C
      BTEN(16)=-(SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK3*BTIJKL(1)/RJK**2+
     >SIJKL*BTIJKL(1)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(1))+RIJ1*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(1)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(6))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I1,K1)->22
C
      BTEN(22)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RJK1*BTIJKL(1)/RJK**2+RKL1*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,K2)->29
C
      BTEN(29)=SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >(-RJK3-RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK2*BTIJKL(1)/RJK**2+RKL2*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,K3)->37
C
      BTEN(37)=SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(RJK2+RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RJK3*BTIJKL(1)/RJK**2+RKL3*BTIJKL(1)/RKL**2+
     >RIJ1*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(1)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(1)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(1))-
     >BTIJKL(1)*BANIJK(9))/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I1,L1)->46
C
      BTEN(46)=SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RKL1*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,L2)->56
C
      BTEN(56)=RJK3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RKL2*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)
C
C     (I1,L3)->67
C
      BTEN(67)=-(RJK2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(1)/RKL**2+RIJ1*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(1)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(1)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(1)/SIJK+
     >CJKL*SIJKL*RIJ1*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(1)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(1)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (I2,I2)->3
C
      BTEN(3)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)+
     >TWO*RIJ2*BTIJKL(2)/RIJ**2+SIJKL*BTIJKL(2)**2/CIJKL-
     >TWO*CIJK*BTIJKL(2)*BANIJK(2)/SIJK+
     >SIJKL*BANIJK(2)**2/(CIJKL*SIJK**2)
C
C     (I2,I3)->5
C
      BTEN(5)=SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4)+
     >SIJKL*BTIJKL(3)*BTIJKL(2)/CIJKL+
     >(RIJ2*BTIJKL(3)+RIJ3*BTIJKL(2))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(2)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(2)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(2))/SIJK
C
C     (I2,J1)->8
C
      BTEN(8)=-(SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK1*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(2))+RIJ2*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,J2)->12
C
      BTEN(12)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK2*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(2))+RIJ2*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,J3)->17
C
      BTEN(17)=-(SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK3*BTIJKL(2)/RJK**2+
     >SIJKL*BTIJKL(2)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(2))+RIJ2*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(2)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(6))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I2,K1)->23
C
      BTEN(23)=SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >(RJK3+RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK1*BTIJKL(2)/RJK**2+RKL1*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,K2)->30
C
      BTEN(30)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RJK2*BTIJKL(2)/RJK**2+RKL2*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,K3)->38
C
      BTEN(38)=SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(-RJK1-RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RJK3*BTIJKL(2)/RJK**2+RKL3*BTIJKL(2)/RKL**2+
     >RIJ2*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(2)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(2)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(2))-
     >BTIJKL(2)*BANIJK(9))/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I2,L1)->47
C
      BTEN(47)=-(RJK3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >RKL1*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,L2)->57
C
      BTEN(57)=SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >RKL2*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)
C
C     (I2,L3)->68
C
      BTEN(68)=RJK1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(2)/RKL**2+RIJ2*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(2)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(2)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(2)/SIJK+
     >CJKL*SIJKL*RIJ2*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(2)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(2)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (I3,I3)->6
C
      BTEN(6)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)+TWO*RIJ3*BTIJKL(3)/RIJ**2+
     >SIJKL*BTIJKL(3)**2/CIJKL-
     >TWO*CIJK*BTIJKL(3)*BANIJK(3)/SIJK+
     >SIJKL*BANIJK(3)**2/(CIJKL*SIJK**2)
C
C     (I3,J1)->9
C
      BTEN(9)=-(SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RKL2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK1*BTIJKL(3)/RJK**2+
     >SIJKL*BTIJKL(3)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(3))+RIJ3*BTIJKL(4))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(4))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(1)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(1)/(CIJKL*SIJK*SJKL)
C
C     (I3,J2)->13
C
      BTEN(13)=-(SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4))-
     >SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >RKL1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+RJK2*BTIJKL(3)/RJK**2+
     >SIJKL*BTIJKL(3)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(3))+RIJ3*BTIJKL(5))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(5))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(2)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(2)/(CIJKL*SIJK*SJKL)
C
C     (I3,J3)->18
C
      BTEN(18)=SIJKL/(CIJKL*SIJK**2*RIJ**2)-
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)-
     >CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >RJK3*BTIJKL(3)/RJK**2+SIJKL*BTIJKL(3)*BTIJKL(6)/CIJKL+
     >(-(RIJ3*BTIJKL(3))+RIJ3*BTIJKL(6))/RIJ**2+
     >SIJKL*BANIJK(3)*BANIJK(6)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(6)*BANIJK(3))-BTIJKL(3)*BANIJK(6))/
     >SIJK+CJKL*SIJKL*RIJ3*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(3)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(3)/(CIJKL*SIJK*SJKL)
C
C     (I3,K1)->24
C
      BTEN(24)=SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >(-RJK2-RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >RJK1*BTIJKL(3)/RJK**2+RKL1*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(7)/CIJKL+
     >CIJK*SIJKL*RKL1*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(7))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(4)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(4)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(4)/(CIJKL*SIJK*SJKL)
C
C     (I3,K2)->31
C
      BTEN(31)=SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >(RJK1+RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-RJK2*BTIJKL(3)/RJK**2+
     >RKL2*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(8)/CIJKL+
     >CIJK*SIJKL*RKL2*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(3))-
     >BTIJKL(3)*BANIJK(8))/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(5)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(5)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(5)/(CIJKL*SIJK*SJKL)
C
C     (I3,K3)->39
C
      BTEN(39)=CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-RJK3*BTIJKL(3)/RJK**2+
     >RKL3*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(9)/CIJKL+
     >CIJK*SIJKL*RKL3*BANIJK(3)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(3)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(3))-BTIJKL(3)*BANIJK(9))/
     >SIJK+CJKL*SIJKL*RIJ3*BANJKL(6)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(6)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(6)/(CIJKL*SIJK*SJKL)
C
C     (I3,L1)->48
C
      BTEN(48)=RJK2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)-RKL1*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(10)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(7)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(7)/(CIJKL*SIJK*SJKL)
C
C     (I3,L2)->58
C
      BTEN(58)=-(RJK1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))+
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-RKL2*BTIJKL(3)/RKL**2+
     >RIJ3*BTIJKL(11)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(8)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(8)/(CIJKL*SIJK*SJKL)
C
C     (I3,L3)->69
C
      BTEN(69)=SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >RKL3*BTIJKL(3)/RKL**2+RIJ3*BTIJKL(12)/RIJ**2+
     >SIJKL*BTIJKL(3)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(3)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(3)/SIJK+
     >CJKL*SIJKL*RIJ3*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CJKL*BTIJKL(3)*BANJKL(9)/SJKL-
     >CIJK*CJKL*SIJKL*BANIJK(3)*BANJKL(9)/(CIJKL*SIJK*SJKL)
C
C     (J1,J1)->10
C
      BTEN(10)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ1**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK1**2/(CIJKL*RJK**4)+SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-
     >TWO*RIJ1*BTIJKL(4)/RIJ**2+TWO*RJK1*BTIJKL(4)/RJK**2+
     >SIJKL*BTIJKL(4)**2/CIJKL-
     >TWO*CIJK*BTIJKL(4)*BANIJK(4)/SIJK+
     >SIJKL*BANIJK(4)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ1*BANJKL(1)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(4)*BANJKL(1)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(1)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)**2/(CIJKL*SJKL**2)
C
C     (J1,J2)->14
C
      BTEN(14)=SIJKL*RIJ1*RIJ2/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ2*RJK1+SIJKL*RIJ1*RJK2)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(4)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(4))-RIJ1*BTIJKL(5))/RIJ**2+
     >(RJK2*BTIJKL(4)+RJK1*BTIJKL(5))/RJK**2+
     >SIJKL*BANIJK(4)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(5))/SIJK+
     >SIJKL*BANJKL(1)*BANJKL(2)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ2*BANJKL(1))-
     >SIJKL*RIJ1*BANJKL(2))/(CIJKL*SJKL*RIJ**2)+
     >CJKL*(-(BTIJKL(5)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(2))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(5)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(2))/(CIJKL*SIJK*SJKL)
C
C     (J1,J3)->19
C
      BTEN(19)=SIJKL*RIJ1*RIJ3/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ3*RJK1+SIJKL*RIJ1*RJK3)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(6)*BTIJKL(4)/CIJKL+
     >(-(RIJ1*BTIJKL(6))-RIJ3*BTIJKL(4))/RIJ**2+
     >(RJK1*BTIJKL(6)+RJK3*BTIJKL(4))/RJK**2+
     >SIJKL*BANIJK(6)*BANIJK(4)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(4)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(4))/SIJK+
     >SIJKL*BANJKL(3)*BANJKL(1)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ1*BANJKL(3))-SIJKL*RIJ3*BANJKL(1))/
     >(CIJKL*SJKL*RIJ**2)+CJKL*
     >(-(BTIJKL(4)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(1))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(4)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(1))/(CIJKL*SIJK*SJKL)
C
C     (J1,K1)->25
C
      BTEN(25)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ1*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK1**2/(CIJKL*RJK**4)-SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL1*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(4))+RJK1*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J1,K2)->32
C
      BTEN(32)=-(SIJKL*RIJ1*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(RIJ3+RJK3+RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL2*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(4))+RJK1*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J1,K3)->40
C
      BTEN(40)=-(SIJKL*RIJ1*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(-RIJ2-RJK2-RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(4)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(4))+RJK1*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(4)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(4)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(4))-
     >BTIJKL(4)*BANIJK(9))/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(1)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(6))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(1))-
     >SIJKL*BANIJK(4)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J1,L1)->49
C
      BTEN(49)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ1*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(10)/RIJ**2+
     >RJK1*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(7))/SJKL
C
C     (J1,L2)->59
C
      BTEN(59)=(-RIJ3-RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(11)/RIJ**2+
     >RJK1*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(1)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(8))/SJKL
C
C     (J1,L3)->70
C
      BTEN(70)=(RIJ2+RJK2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ1*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(4)/RKL**2-RIJ1*BTIJKL(12)/RIJ**2+
     >RJK1*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(4)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(4)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(4)/SIJK-
     >CJKL*SIJKL*RIJ1*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(4)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(1)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(1))-
     >BTIJKL(4)*BANJKL(9))/SJKL
C
C     (J2,J2)->15
C
      BTEN(15)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ2**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK2**2/(CIJKL*RJK**4)+SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-
     >TWO*RIJ2*BTIJKL(5)/RIJ**2+TWO*RJK2*BTIJKL(5)/RJK**2+
     >SIJKL*BTIJKL(5)**2/CIJKL-
     >TWO*CIJK*BTIJKL(5)*BANIJK(5)/SIJK+
     >SIJKL*BANIJK(5)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ2*BANJKL(2)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(5)*BANJKL(2)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(2)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)**2/(CIJKL*SJKL**2)
C
C     (J2,J3)->20
C
      BTEN(20)=SIJKL*RIJ2*RIJ3/(CIJKL*SIJK**2*RIJ**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(SIJKL*RIJ3*RJK2+SIJKL*RIJ2*RJK3)/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*BTIJKL(6)*BTIJKL(5)/CIJKL+
     >(-(RIJ2*BTIJKL(6))-RIJ3*BTIJKL(5))/RIJ**2+
     >(RJK2*BTIJKL(6)+RJK3*BTIJKL(5))/RJK**2+
     >SIJKL*BANIJK(6)*BANIJK(5)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(5)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(5))/SIJK+
     >SIJKL*BANJKL(3)*BANJKL(2)/(CIJKL*SJKL**2)+
     >CJKL*(-(SIJKL*RIJ2*BANJKL(3))-SIJKL*RIJ3*BANJKL(2))/
     >(CIJKL*SJKL*RIJ**2)+CJKL*
     >(-(BTIJKL(5)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(2))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(5)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(2))/(CIJKL*SIJK*SJKL)
C
C     (J2,K1)->26
C
      BTEN(26)=-(SIJKL*RIJ2*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK2/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(-RIJ3-RJK3-RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL1*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(5))+RJK2*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J2,K2)->33
C
      BTEN(33)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ2*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK2**2/(CIJKL*RJK**4)-SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL2*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(5))+RJK2*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J2,K3)->41
C
      BTEN(41)=-(SIJKL*RIJ2*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(RIJ1+RJK1+RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(5)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(5))+RJK2*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(5)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(5)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(5))-
     >BTIJKL(5)*BANIJK(9))/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(2)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(6))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(2))-
     >SIJKL*BANIJK(5)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J2,L1)->50
C
      BTEN(50)=(RIJ3+RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(10)/RIJ**2+
     >RJK2*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(7))/SJKL
C
C     (J2,L2)->60
C
      BTEN(60)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ2*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(11)/RIJ**2+
     >RJK2*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(2)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(8))/SJKL
C
C     (J2,L3)->71
C
      BTEN(71)=(-RIJ1-RJK1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ2*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(5)/RKL**2-RIJ2*BTIJKL(12)/RIJ**2+
     >RJK2*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(5)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(5)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(5)/SIJK-
     >CJKL*SIJKL*RIJ2*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(5)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(2)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(2))-
     >BTIJKL(5)*BANJKL(9))/SJKL
C
C     (J3,J3)->21
C
      BTEN(21)=-(SIJKL/(CIJKL*SIJK**2*RIJ**2))+
     >SIJKL*RIJ3**2/(CIJKL*SIJK**2*RIJ**4)+SIJKL/(CIJKL*RJK**2)-
     >SIJKL/(CIJKL*SIJK**2*RJK**2)-SIJKL/(CIJKL*SJKL**2*RJK**2)+
     >TWO*CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)+
     >TWO*SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)-
     >SIJKL*RJK3**2/(CIJKL*RJK**4)+SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-TWO*RIJ3*BTIJKL(6)/RIJ**2+
     >TWO*RJK3*BTIJKL(6)/RJK**2+SIJKL*BTIJKL(6)**2/CIJKL-
     >TWO*CIJK*BTIJKL(6)*BANIJK(6)/SIJK+
     >SIJKL*BANIJK(6)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*SIJKL*RIJ3*BANJKL(3)/(CIJKL*SJKL*RIJ**2)-
     >TWO*CJKL*BTIJKL(6)*BANJKL(3)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(3)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)**2/(CIJKL*SJKL**2)
C
C     (J3,K1)->27
C
      BTEN(27)=-(SIJKL*RIJ3*RJK1/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK1*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >(RIJ2+RJK2+RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >RKL1*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(7)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(6))+RJK3*BTIJKL(7))/RJK**2+
     >CIJK*SIJKL*RKL1*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(7)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(7))/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(4)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (J3,K2)->34
C
      BTEN(34)=-(SIJKL*RIJ3*RJK2/(CIJKL*SIJK**2*RIJ**2*RJK**2))+
     >SIJKL*RJK2*RJK3/(CIJKL*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >(-RIJ1-RJK1-RKL1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL2*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(8)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(6))+RJK3*BTIJKL(8))/RJK**2+
     >CIJK*SIJKL*RKL2*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(8)*BANIJK(6))-
     >BTIJKL(6)*BANIJK(8))/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(5)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (J3,K3)->42
C
      BTEN(42)=-(SIJKL/(CIJKL*RJK**2))+SIJKL/(CIJKL*SIJK**2*RJK**2)+
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-CIJK*SIJKL/(CIJKL*SIJK**2*RIJ*RJK)-
     >SIJKL*RIJ3*RJK3/(CIJKL*SIJK**2*RIJ**2*RJK**2)+
     >SIJKL*RJK3**2/(CIJKL*RJK**4)-SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)-
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)-
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >RKL3*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(9)/RIJ**2+
     >SIJKL*BTIJKL(6)*BTIJKL(9)/CIJKL+
     >(-(RJK3*BTIJKL(6))+RJK3*BTIJKL(9))/RJK**2+
     >CIJK*SIJKL*RKL3*BANIJK(6)/(CIJKL*SIJK*RKL**2)+
     >SIJKL*BANIJK(6)*BANIJK(9)/(CIJKL*SIJK**2)+
     >CIJK*(-(BTIJKL(9)*BANIJK(6))-BTIJKL(6)*BANIJK(9))/
     >SIJK-CJKL*SIJKL*RIJ3*BANJKL(6)/(CIJKL*SJKL*RIJ**2)+
     >SIJKL*BANJKL(3)*BANJKL(6)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(9)*BANJKL(3))-BTIJKL(6)*BANJKL(6))/
     >SJKL+CIJK*CJKL*(-(SIJKL*BANIJK(9)*BANJKL(3))-
     >SIJKL*BANIJK(6)*BANJKL(6))/(CIJKL*SIJK*SJKL)
C
C     (J3,L1)->51
C
      BTEN(51)=(-RIJ2-RJK2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL1/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL1*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(10)/RIJ**2+
     >RJK3*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(6)*BTIJKL(10)/CIJKL-
     >CIJK*SIJKL*RKL1*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(7)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(7)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(7))/SJKL
C
C     (J3,L2)->61
C
      BTEN(61)=(RIJ1+RJK1)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RIJ3*RKL2/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL2*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(11)/RIJ**2+
     >RJK3*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(6)*BTIJKL(11)/CIJKL-
     >CIJK*SIJKL*RKL2*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(8)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*
     >BANJKL(8)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(3))-
     >BTIJKL(6)*BANJKL(8))/SJKL
C
C     (J3,L3)->72
C
      BTEN(72)=CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RIJ3*RKL3/(CIJKL*RIJ**2*RKL**2)+
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >RKL3*BTIJKL(6)/RKL**2-RIJ3*BTIJKL(12)/RIJ**2+
     >RJK3*BTIJKL(12)/RJK**2+SIJKL*BTIJKL(6)*BTIJKL(12)/CIJKL-
     >CIJK*SIJKL*RKL3*BANIJK(6)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(6)/SIJK-
     >CJKL*SIJKL*RIJ3*BANJKL(9)/(CIJKL*SJKL*RIJ**2)-
     >CIJK*CJKL*SIJKL*BANIJK(6)*BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(3)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(3))-BTIJKL(6)*BANJKL(9))/
     >SJKL
C
C     (K1,K1)->28
C
      BTEN(28)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK1**2/(CIJKL*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RJK1*BTIJKL(7)/RJK**2+TWO*RKL1*BTIJKL(7)/RKL**2+
     >SIJKL*BTIJKL(7)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL1*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(7)*BANIJK(7)/SIJK+
     >SIJKL*BANIJK(7)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(7)*BANJKL(4)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(4)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)**2/(CIJKL*SJKL**2)
C
C     (K1,K2)->35
C
      BTEN(35)=-(SIJKL*RJK1*RJK2/(CIJKL*RJK**4))+
     >SIJKL*RJK1*RJK2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK2/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK2*RKL1+SIJKL*RJK1*RKL2)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(7)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(7))-RJK1*BTIJKL(8))/RJK**2+
     >(RKL2*BTIJKL(7)+RKL1*BTIJKL(8))/RKL**2+
     >SIJKL*BANIJK(7)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL2*BANIJK(7)+SIJKL*RKL1*BANIJK(8))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(8)*BANIJK(7))-
     >BTIJKL(7)*BANIJK(8))/SIJK+
     >SIJKL*BANJKL(4)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(4))-
     >SIJKL*BANIJK(7)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (K1,K3)->43
C
      BTEN(43)=-(SIJKL*RJK1*RJK3/(CIJKL*RJK**4))+
     >SIJKL*RJK1*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK1*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK3*RKL1+SIJKL*RJK1*RKL3)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(9)*BTIJKL(7)/CIJKL+
     >(-(RJK1*BTIJKL(9))-RJK3*BTIJKL(7))/RJK**2+
     >(RKL1*BTIJKL(9)+RKL3*BTIJKL(7))/RKL**2+
     >SIJKL*BANIJK(9)*BANIJK(7)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL1*BANIJK(9)+SIJKL*RKL3*BANIJK(7))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(7)*BANIJK(9))-
     >BTIJKL(9)*BANIJK(7))/SIJK+
     >SIJKL*BANJKL(6)*BANJKL(4)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(7)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(4))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(7)*BANJKL(6))-
     >SIJKL*BANIJK(9)*BANJKL(4))/(CIJKL*SIJK*SJKL)
C
C     (K1,L1)->52
C
      BTEN(52)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK1*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-RJK1*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(7))+RKL1*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(7))/SJKL
C
C     (K1,L2)->62
C
      BTEN(62)=RIJ3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK1*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)-
     >RJK1*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(7))+RKL1*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(4)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(8))/SJKL
C
C     (K1,L3)->73
C
      BTEN(73)=-(RIJ2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK1*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)-RJK1*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(7)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(7))+RKL1*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(7)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(7)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(7)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(4)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(4))-
     >BTIJKL(7)*BANJKL(9))/SJKL
C
C     (K2,K2)->36
C
      BTEN(36)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK2**2/(CIJKL*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RJK2*BTIJKL(8)/RJK**2+TWO*RKL2*BTIJKL(8)/RKL**2+
     >SIJKL*BTIJKL(8)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL2*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(8)*BANIJK(8)/SIJK+
     >SIJKL*BANIJK(8)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(8)*BANJKL(5)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(5)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)**2/(CIJKL*SJKL**2)
C
C     (K2,K3)->44
C
      BTEN(44)=-(SIJKL*RJK2*RJK3/(CIJKL*RJK**4))+
     >SIJKL*RJK2*RJK3/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK2*RJK3/(CIJKL*SJKL**2*RJK**4)+
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >(SIJKL*RJK3*RKL2+SIJKL*RJK2*RKL3)/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*BTIJKL(9)*BTIJKL(8)/CIJKL+
     >(-(RJK2*BTIJKL(9))-RJK3*BTIJKL(8))/RJK**2+
     >(RKL2*BTIJKL(9)+RKL3*BTIJKL(8))/RKL**2+
     >SIJKL*BANIJK(9)*BANIJK(8)/(CIJKL*SIJK**2)+
     >CIJK*(SIJKL*RKL2*BANIJK(9)+SIJKL*RKL3*BANIJK(8))/
     >(CIJKL*SIJK*RKL**2)+CIJK*
     >(-(BTIJKL(8)*BANIJK(9))-
     >BTIJKL(9)*BANIJK(8))/SIJK+
     >SIJKL*BANJKL(6)*BANJKL(5)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(8)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(5))/SJKL+
     >CIJK*CJKL*(-(SIJKL*BANIJK(8)*BANJKL(6))-
     >SIJKL*BANIJK(9)*BANJKL(5))/(CIJKL*SIJK*SJKL)
C
C     (K2,L1)->53
C
      BTEN(53)=-(RIJ3/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK2*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)-
     >RJK2*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(8))+RKL2*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(7)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)*BANJKL(7)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(10)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(7))/SJKL
C
C     (K2,L2)->63
C
      BTEN(63)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK2*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-RJK2*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(8))+RKL2*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*BANJKL(8)/
     >(CIJKL*SIJK*SJKL)+SIJKL*BANJKL(5)*BANJKL(8)/
     >(CIJKL*SJKL**2)+CJKL*(-(BTIJKL(11)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(8))/SJKL
C
C     (K2,L3)->74
C
      BTEN(74)=RIJ1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK2*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)-RJK2*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(8)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(8))+RKL2*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(8)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(8)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(8)*
     >BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(5)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(5))-
     >BTIJKL(8)*BANJKL(9))/SJKL
C
C     (K3,K3)->45
C
      BTEN(45)=SIJKL/(CIJKL*RJK**2)-SIJKL/(CIJKL*SIJK**2*RJK**2)-
     >SIJKL/(CIJKL*SJKL**2*RJK**2)-SIJKL*RJK3**2/(CIJKL*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SIJK**2*RJK**4)+
     >SIJKL*RJK3**2/(CIJKL*SJKL**2*RJK**4)-SIJKL/(CIJKL*SJKL**2*RKL**2)+
     >TWO*CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)+
     >TWO*SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)+
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-TWO*RJK3*BTIJKL(9)/RJK**2+
     >TWO*RKL3*BTIJKL(9)/RKL**2+SIJKL*BTIJKL(9)**2/CIJKL+
     >TWO*CIJK*SIJKL*RKL3*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >TWO*CIJK*BTIJKL(9)*BANIJK(9)/SIJK+
     >SIJKL*BANIJK(9)**2/(CIJKL*SIJK**2)-
     >TWO*CJKL*BTIJKL(9)*BANJKL(6)/SJKL-
     >TWO*CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(6)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)**2/(CIJKL*SJKL**2)
C
C     (K3,L1)->54
C
      BTEN(54)=RIJ2/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-
     >SIJKL*RJK3*RKL1/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)-
     >RJK3*BTIJKL(10)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(9))+RKL3*BTIJKL(10))/RKL**2-
     >CIJK*SIJKL*RKL1*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(10)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(7)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(7))/SJKL
C
C     (K3,L2)->64
C
      BTEN(64)=-(RIJ1/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL))-
     >SIJKL*RJK3*RKL2/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)-
     >RJK3*BTIJKL(11)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(9))+RKL3*BTIJKL(11))/RKL**2-
     >CIJK*SIJKL*RKL2*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(11)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*
     >BANJKL(8)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(6))-
     >BTIJKL(9)*BANJKL(8))/SJKL
C
C     (K3,L3)->75
C
      BTEN(75)=SIJKL/(CIJKL*SJKL**2*RKL**2)-
     >CJKL*SIJKL/(CIJKL*SJKL**2*RJK*RKL)-
     >SIJKL*RJK3*RKL3/(CIJKL*SJKL**2*RJK**2*RKL**2)-
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-RJK3*BTIJKL(12)/RJK**2+
     >SIJKL*BTIJKL(9)*BTIJKL(12)/CIJKL+
     >(-(RKL3*BTIJKL(9))+RKL3*BTIJKL(12))/RKL**2-
     >CIJK*SIJKL*RKL3*BANIJK(9)/(CIJKL*SIJK*RKL**2)-
     >CIJK*BTIJKL(12)*BANIJK(9)/SIJK-
     >CIJK*CJKL*SIJKL*BANIJK(9)*BANJKL(9)/(CIJKL*SIJK*SJKL)+
     >SIJKL*BANJKL(6)*BANJKL(9)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(12)*BANJKL(6))-BTIJKL(9)*BANJKL(9))/
     >SJKL
C
C     (L1,L1)->55
C
      BTEN(55)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL1**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RKL1*BTIJKL(10)/RKL**2+SIJKL*BTIJKL(10)**2/CIJKL-
     >TWO*CJKL*BTIJKL(10)*BANJKL(7)/SJKL+
     >SIJKL*BANJKL(7)**2/(CIJKL*SJKL**2)
C
C     (L1,L2)->65
C
      BTEN(65)=SIJKL*RKL1*RKL2/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(10)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(10))-RKL1*BTIJKL(11))/RKL**2+
     >SIJKL*BANJKL(7)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(7))-
     >BTIJKL(10)*BANJKL(8))/SJKL
C
C     (L1,L3)->76
C
      BTEN(76)=SIJKL*RKL1*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(12)*BTIJKL(10)/CIJKL+
     >(-(RKL1*BTIJKL(12))-RKL3*BTIJKL(10))/RKL**2+
     >SIJKL*BANJKL(9)*BANJKL(7)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(10)*BANJKL(9))-
     >BTIJKL(12)*BANJKL(7))/SJKL
C
C     (L2,L2)->66
C
      BTEN(66)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL2**2/(CIJKL*SJKL**2*RKL**4)-
     >TWO*RKL2*BTIJKL(11)/RKL**2+SIJKL*BTIJKL(11)**2/CIJKL-
     >TWO*CJKL*BTIJKL(11)*BANJKL(8)/SJKL+
     >SIJKL*BANJKL(8)**2/(CIJKL*SJKL**2)
C
C     (L2,L3)->77
C
      BTEN(77)=SIJKL*RKL2*RKL3/(CIJKL*SJKL**2*RKL**4)+
     >SIJKL*BTIJKL(12)*BTIJKL(11)/CIJKL+
     >(-(RKL2*BTIJKL(12))-RKL3*BTIJKL(11))/RKL**2+
     >SIJKL*BANJKL(9)*BANJKL(8)/(CIJKL*SJKL**2)+
     >CJKL*(-(BTIJKL(11)*BANJKL(9))-
     >BTIJKL(12)*BANJKL(8))/SJKL
C
C     (L3,L3)->78
C
      BTEN(78)=-(SIJKL/(CIJKL*SJKL**2*RKL**2))+
     >SIJKL*RKL3**2/(CIJKL*SJKL**2*RKL**4)-TWO*RKL3*BTIJKL(12)/RKL**2+
     >SIJKL*BTIJKL(12)**2/CIJKL-
     >TWO*CJKL*BTIJKL(12)*BANJKL(9)/SJKL+
     >SIJKL*BANJKL(9)**2/(CIJKL*SJKL**2)
C
      DO 51 II=1,NINT
      DO 51 KK=1,II
      SUM=ZERO
C
      DO 52 MC=1,12
      M=3*ITO(INDEX(MC),IJKL)-2+IBUMP(MC)
      DO 53 NC=1,MC-1
      N=3*ITO(INDEX(NC),IJKL)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   53 CONTINUE
C
      DO 52 NC=MC,12
      N=3*ITO(INDEX(NC),IJKL)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   52 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   51 CONTINUE        
   50 CONTINUE
C
C   linear bends - added 09xxYC96
C
      DO 60 IJK=1,NLBE
      LINT=LINT+1
      I=ILBE(1,IJK)
      J=ILBE(2,IJK)
      K=ILBE(3,IJK)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RIJT2=RIJ*RIJ
      RJKT2=RJK*RJK
      RIJT3=RIJ*RIJ*RIJ
      RJKT3=RJK*RJK*RJK
      DO IM = 1,45
       BTEN(IM) = ZERO
      ENDDO
      DO KM = 1,81
       TBAR(KM)= ZERO
      ENDDO
C
C set up tbar (transpose)
C is a diagonal matrix with T as blocks
C
       DO KM = 1,3
         DO JM = 1,3
           DO IM = 1,3
            TBAR((KM-1)*30+IM+(JM-1)*9)=T(IM,JM)
           ENDDO
         ENDDO
      ENDDO  
C
C  Ry mode; From MATHEMATICA
C
      BTEN(10) = 1.0d0/(RIJ*RJKT2) + 1.0d0/RIJT3
      BTEN(7)  = 1.0d0/RIJT3
      BTEN(25) = 1.0d0/(RIJ*RJKT2)
      BTEN(14) = 1.0d0/(RIJ*RJKT2) + 1.0d0/RIJT3
      BTEN(8)  = 1.0d0/RIJT3
      BTEN(32) = 1.0d0/(RIJ*RJKT2)
      BTEN(19) = -1.0d0+1.0d0/(RIJ*RJK)+(RIJ*RJK)+
     >           1.0d0/(RIJ*RJKT2)-RIJT2+1.0d0/RIJT3
      BTEN(9)  = -1.0d0/(RIJ*RJK)+RIJT2+1.0d0/RIJT3
      BTEN(40) = 1.0d0/(RIJ*RJK)-(RIJ*RJK)+1.0d0/(RIJ*RJKT2)
      BTEN(16) = 1.0d0/RIJT2
      BTEN(4)  = -1.0d0/RIJT2
      BTEN(27) = -1.0d0/RJKT2
      BTEN(43) = 1.0d0/RJKT2
      CALL YMATX(BTEMP,1,BTEN,-1,TBAR,1,9,9,9,9)
      CALL YMATX(BTEN,-1,TBAR,0,BTEMP,1,9,9,9,9)
C
      DO 61 II=1,NINT
      DO 61 KK=1,II
      SUM=ZERO
      DO 62 MC=1,9
      M=3*ILBE(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 63 NC=1,MC-1
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   63 CONTINUE
C
      DO 62 NC=MC,9
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   62 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   61 CONTINUE

      LINT=LINT+1
      DO IM = 1,45
       BTEN(IM) = ZERO
      ENDDO
C
C  Rx mode; from MATHEMATICA
C
      BTEN(14) = 1.0d0/(RIJ*RJKT2)+1.0d0/RIJT3
      BTEN(11) = 1.0d0/RIJT3
      BTEN(26) = 1.0d0/(RIJ*RJKT2)
      BTEN(15) = 1.0d0/(RIJ*RJKT2)+1.0d0/RIJT3
      BTEN(12) = 1.0d0/RIJT3
      BTEN(33) = 1.0d0/(RIJ*RJKT2)
      BTEN(20) = -1.0d0 + 1.0d0/(RIJ*RJK)+(RIJ*RJK)+
     >           1.0d0/(RIJ*RJKT2)-RIJT2+1.0d0/RIJT3
      BTEN(13) = -1.0d0/(RIJ*RJK)+RIJT2+1.0d0/RIJT3
      BTEN(41) = 1.0d0/(RIJ*RJK)-(RIJ*RJK)+1.0d0/(RIJ*RJKT2)
      BTEN(17) = 1.0d0/RIJT2
      BTEN(5)  = -1.0d0/RIJT2
      BTEN(34) = -1.0d0/RJKT2
      BTEN(44) = 1.0d0/RJKT2
      CALL YMATX(BTEMP,1,BTEN,-1,TBAR,1,9,9,9,9)
      CALL YMATX(BTEN,-1,TBAR,0,BTEMP,1,9,9,9,9)
C
      DO 71 II=1,NINT
      DO 71 KK=1,II
      SUM=ZERO
      DO 72 MC=1,9
      M=3*ILBE(INDEX(MC),IJK)-2+IBUMP(MC)
      DO 73 NC=1,MC-1
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=MC*(MC-1)/2+NC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   73 CONTINUE
C
      DO 72 NC=MC,9
      N=3*ILBE(INDEX(NC),IJK)-2+IBUMP(NC)
      IPOINT=NC*(NC-1)/2+MC
      SUM=SUM+BI(M,II)*BI(N,KK)*BTEN(IPOINT)
   72 CONTINUE
      IPOINT=II*(II-1)/2+KK
      BT(LINT,IPOINT)=SUM
   71 CONTINUE
   60 CONTINUE
C
C     ALL DONE
C
      RETURN 
      END
C
C***********************************************************************
C     YBTORSN
C***********************************************************************
C
      SUBROUTINE ybtorsn(I,J,K,L,X,Y,Z,NATOMS,BTOR)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES ON LINE THE MATRIX DR/DX FOR TORSIONS
C
      DIMENSION BTOR(12),X(NATOMS),Y(NATOMS),Z(NATOMS)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RKL1=X(L)-X(K)
      RKL2=Y(L)-Y(K)
      RKL3=Z(L)-Z(K)
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RKL=YDIST(K,L,X,Y,Z,NATOMS)
      PIJK=YANGL(I,J,K,X,Y,Z,NATOMS)
      CIJK=YCOSE(PIJK)
      SIJK=YSINE(PIJK)
      PJKL=YANGL(J,K,L,X,Y,Z,NATOMS)
      CJKL=YCOSE(PJKL)
      SJKL=YSINE(PJKL)
      CIJKL=((-RIJ2*RJK1+RIJ1*RJK2)*(-RJK2*RKL1+RJK1*RKL2)+
     > (RIJ3*RJK1-RIJ1*RJK3)*(RJK3*RKL1-RJK1*RKL3)+
     > (-RIJ3*RJK2+RIJ2*RJK3)*(-RJK3*RKL2+RJK2*RKL3))/
     > (SIJK*SJKL*RIJ*RJK*RJK*RKL)
      SIJKL=((-RIJ3*RJK2+RIJ2*RJK3)*RKL1+(RIJ3*RJK1-RIJ1*RJK3)*RKL2+
     > (-(RIJ2*RJK1)+RIJ1*RJK2)*RKL3)/(RIJ*RJK*RKL*SIJK*SJKL)
      BTOR(1)=SIJKL*RIJ1/(CIJKL*SIJK**2*RIJ**2)+  
     > CIJK*SIJKL*RJK1/(CIJKL*SIJK**2*RIJ*RJK)+  
     > (RJK3*RKL2-RJK2*RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(2)=SIJKL*RIJ2/(CIJKL*SIJK**2*RIJ**2)+  
     > CIJK*SIJKL*RJK2/(CIJKL*SIJK**2*RIJ*RJK)+  
     > (-RJK3*RKL1+RJK1*RKL3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(3)=SIJKL*RIJ3/(CIJKL*SIJK**2*RIJ**2)+  
     > CIJK*SIJKL*RJK3/(CIJKL*SIJK**2*RIJ*RJK)+  
     > (RJK2*RKL1-RJK1*RKL2)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(4)=-(SIJKL*RIJ1/(CIJKL*SIJK**2*RIJ**2))+  
     > CIJK*SIJKL*(RIJ1-RJK1)/(CIJKL*SIJK**2*RIJ*RJK)-  
     > SIJKL*RJK1/(CIJKL*RJK**2)+SIJKL*RJK1/(CIJKL*SIJK**2*RJK**2)+  
     > SIJKL*RJK1/(CIJKL*SJKL**2*RJK**2)+  
     > CJKL*SIJKL*RKL1/(CIJKL*SJKL**2*RJK*RKL)+  
     > (-RIJ3*RKL2-RJK3*RKL2+RIJ2*RKL3+RJK2*RKL3)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(5)=-SIJKL*RIJ2/(CIJKL*SIJK**2*RIJ**2)+  
     > CIJK*SIJKL*(RIJ2-RJK2)/(CIJKL*SIJK**2*RIJ*RJK)-  
     > SIJKL*RJK2/(CIJKL*RJK**2)+SIJKL*RJK2/(CIJKL*SIJK**2*RJK**2)+  
     > SIJKL*RJK2/(CIJKL*SJKL**2*RJK**2)+  
     > CJKL*SIJKL*RKL2/(CIJKL*SJKL**2*RJK*RKL)+  
     > (RIJ3*RKL1+RJK3*RKL1-RIJ1*RKL3-RJK1*RKL3)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(6)=-SIJKL*RIJ3/(CIJKL*SIJK**2*RIJ**2)+  
     > CIJK*SIJKL*(RIJ3-RJK3)/(CIJKL*SIJK**2*RIJ*RJK)-  
     > SIJKL*RJK3/(CIJKL*RJK**2)+SIJKL*RJK3/(CIJKL*SIJK**2*RJK**2)+  
     > SIJKL*RJK3/(CIJKL*SJKL**2*RJK**2)+  
     > (-RIJ2*RKL1-RJK2*RKL1+RIJ1*RKL2+RJK1*RKL2)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+  
     > CJKL*SIJKL*RKL3/(CIJKL*SJKL**2*RJK*RKL)
      BTOR(7)=-CIJK*SIJKL*RIJ1/(CIJKL*SIJK**2*RIJ*RJK)+  
     > SIJKL*RJK1/(CIJKL*RJK**2)-SIJKL*RJK1/(CIJKL*SIJK**2*RJK**2)-  
     > SIJKL*RJK1/(CIJKL*SJKL**2*RJK**2)+  
     > CJKL*SIJKL*(RJK1-RKL1)/(CIJKL*SJKL**2*RJK*RKL)+  
     > SIJKL*RKL1/(CIJKL*SJKL**2*RKL**2)+  
     > (RIJ3*RJK2-RIJ2*RJK3+RIJ3*RKL2-RIJ2*RKL3)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(8)=-CIJK*SIJKL*RIJ2/(CIJKL*SIJK**2*RIJ*RJK)+  
     > SIJKL*RJK2/(CIJKL*RJK**2)-SIJKL*RJK2/(CIJKL*SIJK**2*RJK**2)-  
     > SIJKL*RJK2/(CIJKL*SJKL**2*RJK**2)+  
     > CJKL*SIJKL*(RJK2-RKL2)/(CIJKL*SJKL**2*RJK*RKL)+  
     > SIJKL*RKL2/(CIJKL*SJKL**2*RKL**2)+  
     > (-RIJ3*RJK1+RIJ1*RJK3-RIJ3*RKL1+RIJ1*RKL3)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)
      BTOR(9)=-CIJK*SIJKL*RIJ3/(CIJKL*SIJK**2*RIJ*RJK)+  
     > SIJKL*RJK3/(CIJKL*RJK**2)-SIJKL*RJK3/(CIJKL*SIJK**2*RJK**2)-  
     > SIJKL*RJK3/(CIJKL*SJKL**2*RJK**2)+  
     > (RIJ2*RJK1-RIJ1*RJK2+RIJ2*RKL1-RIJ1*RKL2)/  
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)+  
     > CJKL*SIJKL*(RJK3-RKL3)/(CIJKL*SJKL**2*RJK*RKL)+  
     > SIJKL*RKL3/(CIJKL*SJKL**2*RKL**2)
      BTOR(10)=-CJKL*SIJKL*RJK1/(CIJKL*SJKL**2*RJK*RKL)+  
     > (-RIJ3*RJK2+RIJ2*RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-  
     > SIJKL*RKL1/(CIJKL*SJKL**2*RKL**2)
      BTOR(11)=-CJKL*SIJKL*RJK2/(CIJKL*SJKL**2*RJK*RKL)+  
     > (RIJ3*RJK1-RIJ1*RJK3)/(CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-  
     > SIJKL*RKL2/(CIJKL*SJKL**2*RKL**2)
      BTOR(12)=(-RIJ2*RJK1+RIJ1*RJK2)/
     > (CIJKL*SIJK*SJKL*RIJ*RJK*RKL)-  
     > CJKL*SIJKL*RJK3/(CIJKL*SJKL**2*RJK*RKL)-  
     > SIJKL*RKL3/(CIJKL*SJKL**2*RKL**2)
C
C     ALL DONE
C
      RETURN 
      END
C
C***********************************************************************
C     YCOSE
C***********************************************************************
C
      DOUBLE PRECISION FUNCTION ycose(PHI)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
c
      PARAMETER (TINY=1.D-20)
c
      YCOSE=DCOS(PHI)
      IF(DABS(YCOSE).LT.TINY) YCOSE=SIGN(TINY,YCOSE)
c
      RETURN
      END
C***********************************************************************
C     YDIST
C***********************************************************************
C
      DOUBLE PRECISION FUNCTION ydist(I,J,X,Y,Z,NATOMS)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES THE DISTANCE I-J
C
      DIMENSION X(NATOMS),Y(NATOMS),Z(NATOMS)
C
      YDIST=SQRT((X(I)-X(J))**2+(Y(I)-Y(J))**2+(Z(I)-Z(J))**2)
c
      RETURN
      END
C***********************************************************************
C     YEXPND
C***********************************************************************
C
      SUBROUTINE yexpnd(A,B,N1,N2,N,ISYM)
C
      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
      DIMENSION A(N1),B(N2,N2)
      PARAMETER (ZERO=0.0D+00)
C
C     EXPAND TRIANGULAR MATRIX A TO SQUARE MATRIX B
C     B IS SYMMETRIC IF ISYM=0, ANTISYMMETRIC OTHERWISE
C
      IJ = 0
      IF (ISYM .NE. 0) THEN
         DO 200 J = 1,N
            DO 100 I = 1,J
               IJ = IJ + 1
               B(I,J) = A(IJ)
               B(J,I) = -A(IJ)
  100       CONTINUE
            B(J,J) = ZERO
  200    CONTINUE
      ELSE
         DO 300 J = 1,N
         DO 300 I = 1,J
            IJ = IJ + 1
            B(I,J) = A(IJ)
            B(J,I) = A(IJ)
  300    CONTINUE
      ENDIF
      RETURN
      END
C
C***********************************************************************
C     YLUBKSB
C***********************************************************************
C
      SUBROUTINE ylubksb(A,N,NP,INDX,B)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DIMENSION A(NP,NP),INDX(N),B(N)

      DATA ZERO/0.0D00/

      II=0
      DO 12 I=1,N
        LL=INDX(I)
        SUM=B(LL)
        B(LL)=B(I)
        IF (II.NE.0)THEN
          DO 11 J=II,I-1
            SUM=SUM-A(I,J)*B(J)
11        CONTINUE
        ELSE IF (SUM.NE.ZERO) THEN
          II=I
        ENDIF
        B(I)=SUM
12    CONTINUE
      DO 14 I=N,1,-1
        SUM=B(I)
        IF(I.LT.N)THEN
          DO 13 J=I+1,N
            SUM=SUM-A(I,J)*B(J)
13        CONTINUE
        ENDIF
        B(I)=SUM/A(I,I)
14    CONTINUE
      RETURN
      END
C***********************************************************************
C     YMATX
C***********************************************************************
C
      SUBROUTINE ymatx(A,IA,B,IB,C,IC,NRB,NCB,NRC,NCC)
C
C          GENERAL PURPOSE MATRIX MULTIPLICATION
C
C     A = B * C
C
C  ON INPUT:
C  --------
C        B(C)  INPUT REGION(S)
C        IB(IC)  INDICATOR FOR REGION B(C)
C             (+1) - B(C) IS FULL RECTANGULAR ARRAY
C             ( 0) - TRANSPOSE OF B(C) WILL BE USED
C             (-1) - B(C) IS SYMMETRIC UPPER TRIANGULAR ARRAY WITH
C                       NRB ROWS AND COLUMNS
C             (-2) - B(C) IS UPPER TRIANGULAR ARRAY WITH ZERO LOWER HALF
C             (-3) - B(C) IS UPPER TRIANGULAR ARRAY WITH ZERO LOWER HALF
C                       *AND* THE TRANSPOSE OF B(C) WILL BE USED
C        NRB(NRC) - NUMBER OF ROWS OF ARRAYB(C)
C        NCB(NCC) - NUMBER OF COLUMNS OF ARRAY B(C)
C
C  ON OUTPUT:
C  ---------
C        OUTPUT REGION
C        IA  INDICATOR FOR REGIONA
C             (+1) - FULL RECTANGULAR REGION PRODUCED IN A
C             ( 0) - TRANSPOSE OF A IS STORED IN A
C             (-1) - ONLY UPPER TRIANGULAR PART OF A IS STORED IN A
C     IF REQUIRED PRODUCT DOES NOT EXIST, PRINT ERROR AND STOP.
C
C     CALLED BY:
C              BENTR,FORMA,FORMF,FORMG,GFDIAG,ICFDIAG,ICSAVE,PROJF,
C              VECCON
C
      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
      DIMENSION A(1),B(1),C(1)
      DATA ZERO/0.0D0/
C
C     TRANSFER PARAMETERS TO INTERNAL STORAGE
C
      INA=IA
      INB=IB
      INC=IC
      NRBA=NRB
      NCBA=NCB
      NRCA=NRC
      NCCA=NCC
C     SET UP ROW, COLUMN, AND SUM DIMENSIONS
      IF(INB)100,105,110
  100 NROW=NRBA
      NSUM=NRBA
      GO TO 115
  105 NROW=NCBA
      NSUM=NRBA
      GO TO 115
  110 NROW=NRBA
      NSUM=NCBA
  115 IF(INC)120,125,130
  120 NCOL=NRCA
      NSUMC=NRCA
      GO TO 135
  125 NCOL=NRCA
      NSUMC=NCCA
      GO TO 135
  130 NCOL=NCCA
      NSUMC=NRCA
C     CHECK CONSISTENCY OF DIMENSIONS
  135 IF(NSUM-NSUMC) 315,140,315
  140 IF(INA) 145,150,150
  145 IF(NROW-NCOL) 315,150,315
C     INITIATE A(K)=A(J,I) ( OR A(I,J) IF IA=0)
  150 K=1
      I=1
  155 J=1
  160 A(K)=ZERO
      DO 245 L=1,NSUM
C     LOCATE B(J,L) OR B(L,J)
      IF(INB)165,190,195
  165 IF (J-L) 180,185,170
  170 IF (INB+2) 175,245,175
  175 LB=L+(J*(J-1))/2
      GO TO 200
  180 IF (INB+3) 185,245,185
  185 LB=J+(L*(L-1))/2
      GO TO 200
  190 LB=L+(J-1)*NRBA
      GO TO 200
  195 LB=J+(L-1)*NRBA
C     LOCATE C(L,I) OR C(I,L)
  200 IF(INC)205,230,235
  205 IF (I-L) 210,220,215
  210 IF (INC+2) 225,245,225
  215 IF (INC+3) 220,245,220
  220 LC=L+(I*(I-1))/2
      GO TO 240
  225 LC=I+(L*(L-1))/2
      GO TO 240
  230 LC=I+(L-1)*NRCA
      GO TO 240
  235 LC=L+(I-1)*NRCA
240   A(K)=(A(K)+(B(LB)*C(LC)))
  245 CONTINUE
C     LOOP ON I,J
      K=K+1
      IF(INA)250,270,290
  250 IF(J-I)255,260,255
  255 J=J+1
      GO TO 160
  260 IF(I-NCOL)265,310,265
  265 I=I+1
      GO TO 155
  270 IF(I-NCOL)275,280,275
  275 I=I+1
      GO TO 160
  280 IF(J-NROW)285,310,285
  285 J=J+1
      I=1
      GO TO 160
  290 IF(J-NROW)295,300,295
  295 J=J+1
      GO TO 160
  300 IF(I-NCOL)305,310,305
  305 I=I+1
      GO TO 155
  310 RETURN
C
C      --- ERROR HALT ---
C
315   CONTINUE
      WRITE(6,901)
901   FORMAT(1X,'ERROR IN MATRIX MULTIPLY SUBROUTINE DIMENSIONS')
      STOP
      END
      SUBROUTINE yrspp (NM,N,NV,A,W,MATZ,Z,FV1,FV2,IERR)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DOUBLE PRECISION A(NV),W(N),Z(NM,N),FV1(N),FV2(N)
C
C     THIS SUBROUTINE CALLS THE RECOMMENDED SEQUENCE OF
C     SUBROUTINES FROM THE EIGENSYSTEM SUBROUTINE PACKAGE (EISPACK)
C     TO FIND THE EIGENVALUES AND EIGENVECTORS (IF DESIRED)
C     OF A REAL SYMMETRIC PACKED MATRIX.
C
C     ON INPUT-
C
C        NM  MUST BE SET TO THE ROW DIMENSION OF THE TWO-DIMENSIONAL
C        ARRAY PARAMETERS AS DECLARED IN THE CALLING PROGRAM
C        DIMENSION STATEMENT,
C
C        N  IS THE ORDER OF THE MATRIX  A,
C
C        NV  IS AN INTEGER VARIABLE SET EQUAL TO THE
C        DIMENSION OF THE ARRAY  A  AS SPECIFIED FOR
C        A  IN THE CALLING PROGRAM.  NV  MUST NOT BE
C        LESS THAN  N*(N+1)/2,
C
C        A  CONTAINS THE LOWER TRIANGLE OF THE REAL SYMMETRIC
C        PACKED MATRIX STORED ROW-WISE,
C
C        MATZ  IS AN INTEGER VARIABLE SET EQUAL TO ZERO IF
C        ONLY EIGENVALUES ARE DESIRED,  OTHERWISE IT IS SET TO
C        ANY NON-ZERO INTEGER FOR BOTH EIGENVALUES AND EIGENVECTORS.
C
C     ON OUTPUT-
C
C        W  CONTAINS THE EIGENVALUES IN ASCENDING ORDER,
C
C        Z  CONTAINS THE EIGENVECTORS IF MATZ IS NOT ZERO,
C
C        IERR  IS AN INTEGER OUTPUT VARIABLE SET EQUAL TO AN
C        ERROR COMPLETION CODE DESCRIBED IN SECTION 2B OF THE
C        DOCUMENTATION.  THE NORMAL COMPLETION CODE IS ZERO,
C
C        FV1  AND  FV2  ARE TEMPORARY STORAGE ARRAYS.
C
C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO B. S. GARBOW,
C     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
C
C     ------------------------------------------------------------------
C
      DATA ZERO,ONE / 0.0D0,1.0D0 /
      IF (N.LE.NM) GO TO 10
      IERR = 10*N
      GO TO 60
   10 IF (NV.GE.(N*(N+1))/2) GO TO 20
      IERR = 20*N
      GO TO 60
C
   20 CALL YTRED3 (N,NV,A,W,FV1,FV2)
      IF (MATZ.NE.0) GO TO 30
C
C     ********** FIND EIGENVALUES ONLY **********
C
      CALL YTQLRAT (N,W,FV2,IERR)
      GO TO 60
C
C     ********** FIND BOTH EIGENVALUES AND EIGENVECTORS **********
C
   30 DO 50 I = 1, N
C
         DO 40 J = 1, N
            Z(J,I) = ZERO
   40    CONTINUE
C
         Z(I,I) = ONE
   50 CONTINUE
C
      CALL YTQL2 (NM,N,W,FV1,Z,IERR)
      IF (IERR.NE.0) GO TO 60
      CALL YTRBAK3 (NM,N,NV,A,N,Z,IERR)
   60 RETURN
C
C     ********** LAST CARD OF RSP **********
C
      END
C***********************************************************************
C     YSINE
C***********************************************************************
C
      DOUBLE PRECISION FUNCTION ysine(PHI)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
c
      PARAMETER (TINY=1.D-20)
c
      YSINE=DSIN(PHI)
      IF(DABS(YSINE).LT.TINY) YSINE=SIGN(TINY,YSINE)
c
      RETURN
      END
c
C***********************************************************************
C     YTORS
C***********************************************************************
C
      DOUBLE PRECISION FUNCTION ytors(I,J,K,L,X,Y,Z,NATOMS)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     CALCULATES THE TORSIONAL ANGLE I-J-K-L
C
      DIMENSION X(NATOMS),Y(NATOMS),Z(NATOMS)
C
      RIJ1=X(J)-X(I)
      RIJ2=Y(J)-Y(I)
      RIJ3=Z(J)-Z(I)
      RJK1=X(K)-X(J)
      RJK2=Y(K)-Y(J)
      RJK3=Z(K)-Z(J)
      RKL1=X(L)-X(K)
      RKL2=Y(L)-Y(K)
      RKL3=Z(L)-Z(K)
C
      RIJ=YDIST(I,J,X,Y,Z,NATOMS)
      RJK=YDIST(J,K,X,Y,Z,NATOMS)
      RKL=YDIST(K,L,X,Y,Z,NATOMS)
      SIJK=YSINE(YANGL(I,J,K,X,Y,Z,NATOMS))
      SJKL=YSINE(YANGL(J,K,L,X,Y,Z,NATOMS))
c
      CIJKL=((-RIJ2*RJK1+RIJ1*RJK2)*(-RJK2*RKL1+RJK1*RKL2)+
     > (RIJ3*RJK1-RIJ1*RJK3)*(RJK3*RKL1-RJK1*RKL3)+
     > (-RIJ3*RJK2+RIJ2*RJK3)*(-RJK3*RKL2+RJK2*RKL3))/
     > (SIJK*SJKL*RIJ*RJK*RJK*RKL)
c
      SIJKL=((-RIJ3*RJK2+RIJ2*RJK3)*RKL1+(RIJ3*RJK1-RIJ1*RJK3)*RKL2+
     > (-RIJ2*RJK1+RIJ1*RJK2)*RKL3)/(RIJ*RJK*RKL*SIJK*SJKL)
C
      YTORS=DATAN2(SIJKL,CIJKL)
c
      RETURN
      END
C
      SUBROUTINE ytql2 (NM,N,D,E,Z,IERR)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DOUBLE PRECISION D(N),E(N),Z(NM,N)
      DOUBLE PRECISION B,C,F,G,H,P,R,S,MACHEP
C
C     REAL SQRT,ABS,SIGN
C
C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE TQL2,
C     NUM. MATH. 11, 293-306(1968) BY BOWDLER, MARTIN, REINSCH, AND
C     WILKINSON.
C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 227-240(1971).
C
C     THIS SUBROUTINE FINDS THE EIGENVALUES AND EIGENVECTORS
C     OF A SYMMETRIC TRIDIAGONAL MATRIX BY THE QL METHOD.
C     THE EIGENVECTORS OF A FULL SYMMETRIC MATRIX CAN ALSO
C     BE FOUND IF  TRED2  HAS BEEN USED TO REDUCE THIS
C     FULL MATRIX TO TRIDIAGONAL FORM.
C
C     ON INPUT-
C
C        NM MUST BE SET TO THE ROW DIMENSION OF TWO-DIMENSIONAL
C          ARRAY PARAMETERS AS DECLARED IN THE CALLING PROGRAM
C          DIMENSION STATEMENT,
C
C        N IS THE ORDER OF THE MATRIX,
C
C        D CONTAINS THE DIAGONAL ELEMENTS OF THE INPUT MATRIX,
C
C        E CONTAINS THE SUBDIAGONAL ELEMENTS OF THE INPUT MATRIX
C          IN ITS LAST N-1 POSITIONS.  E(1) IS ARBITRARY,
C
C        Z CONTAINS THE TRANSFORMATION MATRIX PRODUCED IN THE
C          REDUCTION BY  TRED2, IF PERFORMED.  IF THE EIGENVECTORS
C          OF THE TRIDIAGONAL MATRIX ARE DESIRED, Z MUST CONTAIN
C          THE IDENTITY MATRIX.
C
C      ON OUTPUT-
C
C        D CONTAINS THE EIGENVALUES IN ASCENDING ORDER.  IF AN
C          ERROR EXIT IS MADE, THE EIGENVALUES ARE CORRECT BUT
C          UNORDERED FOR INDICES 1,2,...,IERR-1,
C
C        E HAS BEEN DESTROYED,
C
C        Z CONTAINS ORTHONORMAL EIGENVECTORS OF THE SYMMETRIC
C          TRIDIAGONAL (OR FULL) MATRIX.  IF AN ERROR EXIT IS MADE,
C          Z CONTAINS THE EIGENVECTORS ASSOCIATED WITH THE STORED
C          EIGENVALUES,
C
C        IERR IS SET TO
C          ZERO       FOR NORMAL RETURN,
C          J          IF THE J-TH EIGENVALUE HAS NOT BEEN
C                     DETERMINED AFTER 30 ITERATIONS.
C
C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO B. S. GARBOW,
C     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
C
C     ------------------------------------------------------------------
C
C                **********
C
      DATA ZERO,ONE,TWO / 0.0D0,1.0D0,2.0D0 /
C
C     ********** MACHEP IS A MACHINE DEPENDENT PARAMETER SPECIFYING
C                THE RELATIVE PRECISION OF FLOATING POINT ARITHMETIC.
C
      MACHEP = TWO**(-46)
C
      IERR = 0
      IF (N.EQ.1) GO TO 160
C
      DO 10 I = 2, N
         E(I-1) = E(I)
   10 CONTINUE
C
      F = ZERO
      B = ZERO
      E(N) = ZERO
C
      DO 110 L = 1, N
         J = 0
         H = MACHEP*(ABS(D(L))+ABS(E(L)))
         IF (B.LT.H) B = H
C
C     ********** LOOK FOR SMALL SUB-DIAGONAL ELEMENT **********
C
         DO 20 M = L, N
            IF (ABS(E(M)).LE.B) GO TO 30
C
C     ********** E(N) IS ALWAYS ZERO, SO THERE IS NO EXIT
C                THROUGH THE BOTTOM OF THE LOOP **********
C
   20    CONTINUE
C
   30    IF (M.EQ.L) GO TO 100
   40    IF (J.EQ.30) GO TO 150
         J = J+1
C
C     ********** FORM SHIFT **********
C
         L1 = L+1
         G = D(L)
         P = (D(L1)-G)/(TWO*E(L))
C
C        R = SQRT(P*P+ONE)
C
         IF (ABS(P).GT.1.0D+16) THEN
            R = ABS(P)
         ELSE
            R = SQRT(P*P+ONE)
         ENDIF
         D(L) = E(L)/(P+SIGN(R,P))
         H = G-D(L)
C
         DO 50 I = L1, N
            D(I) = D(I)-H
   50    CONTINUE
C
         F = F+H
C
C     ********** QL TRANSFORMATION **********
C
         P = D(M)
         C = ONE
         S = ZERO
         MML = M-L
C
C     ********** FOR I=M-1 STEP -1 UNTIL L DO -- **********
C
         DO 90 II = 1, MML
            I = M-II
            G = C*E(I)
            H = C*P
            IF (ABS(P).LT.ABS(E(I))) GO TO 60
            C = E(I)/P
            R = SQRT(C*C+ONE)
            E(I+1) = S*P*R
            S = C/R
            C = ONE/R
            GO TO 70
   60       C = P/E(I)
            R = SQRT(C*C+ONE)
            E(I+1) = S*E(I)*R
            S = ONE/R
            C = C*S
   70       P = C*D(I)-S*G
            D(I+1) = H+S*(C*G+S*D(I))
C
C     ********** FORM VECTOR **********
C
            DO 80 K = 1, N
               H = Z(K,I+1)
               Z(K,I+1) = S*Z(K,I)+C*H
               Z(K,I) = C*Z(K,I)-S*H
   80       CONTINUE
C
   90    CONTINUE
C
         E(L) = S*P
         D(L) = C*P
         IF (ABS(E(L)).GT.B) GO TO 40
  100    D(L) = D(L)+F
  110 CONTINUE
C
C     ********** ORDER EIGENVALUES AND EIGENVECTORS **********
C
      DO 140 II = 2, N
         I = II-1
         K = I
         P = D(I)
C
         DO 120 J = II, N
            IF (D(J).GE.P) GO TO 120
            K = J
            P = D(J)
  120    CONTINUE
C
         IF (K.EQ.I) GO TO 140
         D(K) = D(I)
         D(I) = P
C
         DO 130 J = 1, N
            P = Z(J,I)
            Z(J,I) = Z(J,K)
            Z(J,K) = P
  130    CONTINUE
C
  140 CONTINUE
C
      GO TO 160
C
C     ********** SET ERROR -- NO CONVERGENCE TO AN
C                EIGENVALUE AFTER 30 ITERATIONS **********
C
  150 IERR = L
  160 RETURN
C
C     ********** LAST CARD OF TQL2 **********
C
      END
      SUBROUTINE ytqlrat (N,D,E2,IERR)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DOUBLE PRECISION D(N),E2(N)
      DOUBLE PRECISION B,C,F,G,H,P,R,S,MACHEP
C
C     REAL SQRT,ABS,SIGN
C
C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE TQLRAT,
C     ALGORITHM 464, COMM. ACM 16, 689(1973) BY REINSCH.
C
C     THIS SUBROUTINE FINDS THE EIGENVALUES OF A SYMMETRIC
C     TRIDIAGONAL MATRIX BY THE RATIONAL QL METHOD.
C
C     ON INPUT-
C
C        N IS THE ORDER OF THE MATRIX,
C
C        D CONTAINS THE DIAGONAL ELEMENTS OF THE INPUT MATRIX,
C
C        E2 CONTAINS THE SQUARES OF THE SUBDIAGONAL ELEMENTS OF THE
C          INPUT MATRIX IN ITS LAST N-1 POSITIONS.  E2(1) IS ARBITRARY.
C
C      ON OUTPUT-
C
C        D CONTAINS THE EIGENVALUES IN ASCENDING ORDER.  IF AN
C          ERROR EXIT IS MADE, THE EIGENVALUES ARE CORRECT AND
C          ORDERED FOR INDICES 1,2,...IERR-1, BUT MAY NOT BE
C          THE SMALLEST EIGENVALUES,
C
C        E2 HAS BEEN DESTROYED,
C
C        IERR IS SET TO
C          ZERO       FOR NORMAL RETURN,
C          J          IF THE J-TH EIGENVALUE HAS NOT BEEN
C                     DETERMINED AFTER 30 ITERATIONS.
C
C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO B. S. GARBOW,
C     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
C
C     ------------------------------------------------------------------
C
C                **********
C
      DATA ZERO,ONE,TWO / 0.0D0,1.0D0,2.0D0 /
C
C     ********** MACHEP IS A MACHINE DEPENDENT PARAMETER SPECIFYING
C                THE RELATIVE PRECISION OF FLOATING POINT ARITHMETIC.
C
      MACHEP = TWO**(-46)
C
      IERR = 0
      IF (N.EQ.1) GO TO 140
C
      DO 10 I = 2, N
         E2(I-1) = E2(I)
   10 CONTINUE
C
      F = ZERO
      B = ZERO
      E2(N) = ZERO
C
      DO 120 L = 1, N
         J = 0
         H = MACHEP*(ABS(D(L))+SQRT(E2(L)))
         IF (B.GT.H) GO TO 20
         B = H
         C = B*B
C
C     ********** LOOK FOR SMALL SQUARED SUB-DIAGONAL ELEMENT **********
C
   20    DO 30 M = L, N
            IF (E2(M).LE.C) GO TO 40
C
C     ********** E2(N) IS ALWAYS ZERO, SO THERE IS NO EXIT
C                THROUGH THE BOTTOM OF THE LOOP **********
C
   30    CONTINUE
C
   40    IF (M.EQ.L) GO TO 80
   50    IF (J.EQ.30) GO TO 130
         J = J+1
C
C     ********** FORM SHIFT **********
C
         L1 = L+1
         S = SQRT(E2(L))
         G = D(L)
         P = (D(L1)-G)/(TWO*S)
         R = SQRT(P*P+ONE)
         D(L) = S/(P+SIGN(R,P))
         H = G-D(L)
C
         DO 60 I = L1, N
            D(I) = D(I)-H
   60    CONTINUE
C
         F = F+H
C
C     ********** RATIONAL QL TRANSFORMATION **********
C
         G = D(M)
         IF (G.EQ.ZERO) G = B
         H = G
         S = ZERO
         MML = M-L
C
C     ********** FOR I=M-1 STEP -1 UNTIL L DO -- **********
C
         DO 70 II = 1, MML
            I = M-II
            P = G*H
            R = P+E2(I)
            E2(I+1) = S*R
            S = E2(I)/R
            D(I+1) = H+S*(H+D(I))
            G = D(I)-E2(I)/G
            IF (G.EQ.ZERO) G = B
            H = G*P/R
   70    CONTINUE
C
         E2(L) = S*G
         D(L) = H
C
C     ********** GUARD AGAINST UNDERFLOW IN CONVERGENCE TEST **********
C
         IF (H.EQ.ZERO) GO TO 80
         IF (ABS(E2(L)).LE.ABS(C/H)) GO TO 80
         E2(L) = H*E2(L)
         IF (E2(L).NE.ZERO) GO TO 50
   80    P = D(L)+F
C
C     ********** ORDER EIGENVALUES **********
C
         IF (L.EQ.1) GO TO 100
C
C     ********** FOR I=L STEP -1 UNTIL 2 DO -- **********
C
         DO 90 II = 2, L
            I = L+2-II
            IF (P.GE.D(I-1)) GO TO 110
            D(I) = D(I-1)
   90    CONTINUE
C
  100    I = 1
  110    D(I) = P
  120 CONTINUE
C
      GO TO 140
C
C     ********** SET ERROR -- NO CONVERGENCE TO AN
C                EIGENVALUE AFTER 30 ITERATIONS **********
C
  130 IERR = L
  140 RETURN
C
C     ********** LAST CARD OF TQLRAT **********
C
      END
C
C***********************************************************************
C     YTRANFC
C***********************************************************************
C
      SUBROUTINE ytranfc(HFC,BI,WORK,HIFC,F2,NATOM,
     > MAXINT,MAXCAR,MAXIN2,MAXCA2,NINT)
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
C
C     TRANSFORMS THE HARMONIC FORCE CONSTANTS TO INTERNAL COORDINATES
C
      PARAMETER (ZERO=0.D0)
C
      DIMENSION HFC(MAXCA2),BI(MAXCAR,MAXINT)
      DIMENSION WORK(MAXCAR,MAXINT)
      DIMENSION HIFC(MAXIN2)
      DIMENSION F2(MAXIN2)
C
      NCAR=3*NATOM
C
C     TRANSFORM THE FIRST INDEX
C
      DO 10 I=1,NINT
         DO 20 J=1,NCAR
            SUM=ZERO
            DO 30 K=1,J
               IPOINT=J*(J-1)/2+K
               SUM=SUM+BI(K,I)*HFC(IPOINT)
   30       CONTINUE
            DO 40 K=J+1,NCAR
               IPOINT=K*(K-1)/2+J
               SUM=SUM+BI(K,I)*HFC(IPOINT)
   40       CONTINUE
         WORK(J,I)=SUM
   20    CONTINUE
   10 CONTINUE   
C
C     TRANSFORM THE SECOND INDEX
C
      IPOINT=0
      DO 70 I=1,NINT
         DO 80 J=1,I
            IPOINT=IPOINT+1
            SUM=ZERO
            DO 90 K=1,NCAR
               SUM=SUM+BI(K,I)*WORK(K,J)
   90       CONTINUE
            HIFC(IPOINT)=SUM - F2(IPOINT)
   80    CONTINUE
   70 CONTINUE
C
C     ALL DONE
C
      RETURN
      END
      SUBROUTINE ytrbak3 (NM,N,NV,A,M,Z,IERR)
C
C     CALLED BY:
C                RSP
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DOUBLE PRECISION A(NV),Z(NM,M)
      DOUBLE PRECISION H,S
C
C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE TRBAK3,
C     NUM. MATH. 11, 181-195(1968) BY MARTIN, REINSCH, AND WILKINSON.
C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 212-226(1971).
C
C     THIS SUBROUTINE FORMS THE EIGENVECTORS OF A REAL SYMMETRIC
C     MATRIX BY BACK TRANSFORMING THOSE OF THE CORRESPONDING
C     SYMMETRIC TRIDIAGONAL MATRIX DETERMINED BY  TRED3.
C
C     ON INPUT-
C
C        NM MUST BE SET TO THE ROW DIMENSION OF TWO-DIMENSIONAL
C          ARRAY PARAMETERS AS DECLARED IN THE CALLING PROGRAM
C          DIMENSION STATEMENT,
C
C        N IS THE ORDER OF THE MATRIX,
C
C        NV MUST BE SET TO THE DIMENSION OF THE ARRAY PARAMETER A
C          AS DECLARED IN THE CALLING PROGRAM DIMENSION STATEMENT,
C
C        A CONTAINS INFORMATION ABOUT THE ORTHOGONAL TRANSFORMATIONS
C          USED IN THE REDUCTION BY  TRED3  IN ITS FIRST
C          N*(N+1)/2 POSITIONS,
C
C        M IS THE NUMBER OF EIGENVECTORS TO BE BACK TRANSFORMED,
C
C        Z CONTAINS THE EIGENVECTORS TO BE BACK TRANSFORMED
C          IN ITS FIRST M COLUMNS.
C
C     ON OUTPUT-
C
C        Z CONTAINS THE TRANSFORMED EIGENVECTORS
C          IN ITS FIRST M COLUMNS.
C
C     NOTE THAT TRBAK3 PRESERVES VECTOR EUCLIDEAN NORMS.
C
C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO B. S. GARBOW,
C     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
C
C     ------------------------------------------------------------------
C
      DATA ZERO / 0.0D0 /
      IF (M.EQ.0) GO TO 60
      IF (N.EQ.1) GO TO 60
C
      DO 50 I = 2, N
         L = I-1
         IZ = (I*L)/2
         IK = IZ+I
         H = A(IK)
         IF (H.EQ.ZERO) GO TO 50
C
         DO 40 J = 1, M
            S = ZERO
            IK = IZ
C
            DO 10 K = 1, L
               IK = IK+1
               S = S+A(IK)*Z(K,J)
   10       CONTINUE
C
C     ********** DOUBLE DIVISION AVOIDS POSSIBLE UNDERFLOW **********
C
            S = S/H
            IK = IZ
C
            DO 30 K = 1, L
               IK = IK+1
               IF (ABS(H).GT.1.0D0) GO TO 20
               SA = S*A(IK)
               IF (ABS(SA).LT.ABS(H)*1.6D+38) GO TO 20
               IERR = 1111
               RETURN
   20          CONTINUE
               Z(K,J) = Z(K,J)-S*A(IK)/H
   30       CONTINUE
C
   40    CONTINUE
C
   50 CONTINUE
C
   60 RETURN
C
C     ********** LAST CARD OF TRBAK3 **********
C
      END
      SUBROUTINE ytred3 (N,NV,A,D,E,E2)
C
C     CALLED BY:
C                 RSP
C
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      DOUBLE PRECISION A(NV),D(N),E(N),E2(N)
      DOUBLE PRECISION F,G,H,HH,SCALE
C
C     REAL SQRT,ABS,SIGN
C
C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE TRED3,
C     NUM. MATH. 11, 181-195(1968) BY MARTIN, REINSCH, AND WILKINSON.
C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 212-226(1971).
C
C     THIS SUBROUTINE REDUCES A REAL SYMMETRIC MATRIX, STORED AS
C     A ONE-DIMENSIONAL ARRAY, TO A SYMMETRIC TRIDIAGONAL MATRIX
C     USING ORTHOGONAL SIMILARITY TRANSFORMATIONS.
C
C     ON INPUT-
C
C        N IS THE ORDER OF THE MATRIX,
C
C        NV MUST BE SET TO THE DIMENSION OF THE ARRAY PARAMETER A
C          AS DECLARED IN THE CALLING PROGRAM DIMENSION STATEMENT,
C
C        A CONTAINS THE LOWER TRIANGLE OF THE REAL SYMMETRIC
C          INPUT MATRIX, STORED ROW-WISE AS A ONE-DIMENSIONAL
C          ARRAY, IN ITS FIRST N*(N+1)/2 POSITIONS.
C
C     ON OUTPUT-
C
C        A CONTAINS INFORMATION ABOUT THE ORTHOGONAL
C          TRANSFORMATIONS USED IN THE REDUCTION,
C
C        D CONTAINS THE DIAGONAL ELEMENTS OF THE TRIDIAGONAL MATRIX,
C
C        E CONTAINS THE SUBDIAGONAL ELEMENTS OF THE TRIDIAGONAL
C          MATRIX IN ITS LAST N-1 POSITIONS.  E(1) IS SET TO ZERO,
C
C        E2 CONTAINS THE SQUARES OF THE CORRESPONDING ELEMENTS OF E.
C          E2 MAY COINCIDE WITH E IF THE SQUARES ARE NOT NEEDED.
C
C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO B. S. GARBOW,
C     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
C
C     ------------------------------------------------------------------
C
C     ********** FOR I=N STEP -1 UNTIL 1 DO -- **********
C
      DATA ZERO / 0.0D0 /
      DO 90 II = 1, N
         I = N+1-II
         L = I-1
         IZ = (I*L)/2
         H = ZERO
         SCALE = ZERO
         IF (L.LT.1) GO TO 20
C
C     ********** SCALE ROW (ALGOL TOL THEN NOT NEEDED) **********
C
         DO 10 K = 1, L
            IZ = IZ+1
            D(K) = A(IZ)
            SCALE = SCALE+ABS(D(K))
   10    CONTINUE
C
         IF (SCALE.NE.ZERO) GO TO 30
   20    E(I) = ZERO
         E2(I) = ZERO
         GO TO 80
C
   30    DO 40 K = 1, L
            D(K) = D(K)/SCALE
            H = H+D(K)*D(K)
   40    CONTINUE
C
         E2(I) = SCALE*SCALE*H
         F = D(L)
         G = -SIGN(SQRT(H),F)
         E(I) = SCALE*G
         H = H-F*G
         D(L) = F-G
         A(IZ) = SCALE*D(L)
         IF (L.EQ.1) GO TO 80
         F = ZERO
C
         DO 60 J = 1, L
            G = ZERO
            JK = (J*(J-1))/2
C
C     ********** FORM ELEMENT OF A*U **********
C
            DO 50 K = 1, L
               JK = JK+1
               IF (K.GT.J) JK = JK+K-2
               G = G+A(JK)*D(K)
   50       CONTINUE
C
C     ********** FORM ELEMENT OF P **********
C
            E(J) = G/H
            F = F+E(J)*D(J)
   60    CONTINUE
C
         HH = F/(H+H)
         JK = 0
C
C     ********** FORM REDUCED A **********
C
         DO 70 J = 1, L
            F = D(J)
            G = E(J)-HH*F
            E(J) = G
C
            DO 70 K = 1, J
               JK = JK+1
               A(JK) = A(JK)-F*E(K)-G*D(K)
   70    CONTINUE
C
   80    D(I) = A(IZ+1)
         A(IZ+1) = SCALE*SQRT(H)
   90 CONTINUE
C
      RETURN
C
C     ********** LAST CARD OF TRED3 **********
C
      END
C***********************************************************************
C     YXPROD
C***********************************************************************
C
      SUBROUTINE yxprod(X,Y,Z)
C
C  FORMS THE CROSS PRODUCT OF VECTORS X AND Y, PLACING THE RESULT
C  IN VECTOR Z.  ALL VECTORS ARE THREE DIMENSIONAL.
C
      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
C
      DIMENSION X(3),Y(3),Z(3)
C
      Z(1) = X(2)*Y(3) - X(3)*Y(2)
      Z(2) = X(3)*Y(1) - X(1)*Y(3)
      Z(3) = X(1)*Y(2) - X(2)*Y(1)
C
      RETURN
      END
