      SUBROUTINE TMMULT(M,BMATR,CLR,BMATL,MX,W4)
C
C     THIS SUBROUTINE COMPUTES THE PRODUCT TRANSPOSE(BMATR)*
C     CLR*BMATL AND STORES THE RESULT IN CLR.
C
      IMPLICIT REAL*8 (A-H,O-Z)
      COMPLEX*16 CLR(MX,MX)
      COMPLEX*16 BMATR(MX,MX),BMATL(MX,MX)
      COMPLEX*16 W4(MX,MX)
      COMPLEX*16 ZERO,SUM1
C
C
      ZERO=DCMPLX(0.0,0.0)
C
      DO 300 II=1,M
      DO 200 I=1,M
C
      SUM1=ZERO
C
      DO 100 K=1,M
C
      SUM1=SUM1+CLR(II,K)*BMATL(K,I)
C
  100 CONTINUE
C
      W4(II,I)=SUM1
C
  200 CONTINUE
  300 CONTINUE
C
      DO 600 II=1,M
      DO 500 I=1,M
C
      CLR(II,I)=W4(II,I)
C
  500 CONTINUE
  600 CONTINUE
C
C
      DO 900 II=1,M
      DO 800 I=1,M
C
      SUM1=ZERO
C
      DO 700 K=1,M
C
      SUM1=SUM1+BMATR(K,II)*CLR(K,I)
C
  700 CONTINUE
C
      W4(II,I)=SUM1
C
  800 CONTINUE
  900 CONTINUE
C
      DO 1100 II=1,M
      DO 1000 I=1,M
C
      CLR(II,I)=W4(II,I)
C
 1000 CONTINUE
 1100 CONTINUE
C
      RETURN
      END
