166      SUBROUTINE csyrk(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
 
  178      COMPLEX A(LDA,*),C(LDC,*)
 
  195      INTEGER I,INFO,J,L,NROWA
 
  200      parameter(one= (1.0e+0,0.0e+0))
 
  202      parameter(zero= (0.0e+0,0.0e+0))
 
  207      IF (lsame(trans,
'N')) 
THEN 
  212      upper = lsame(uplo,
'U')
 
  215      IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L'))) 
THEN 
  217      ELSE IF ((.NOT.lsame(trans,
'N')) .AND.
 
  218     +         (.NOT.lsame(trans,
'T'))) 
THEN 
  220      ELSE IF (n.LT.0) 
THEN 
  222      ELSE IF (k.LT.0) 
THEN 
  224      ELSE IF (lda.LT.max(1,nrowa)) 
THEN 
  226      ELSE IF (ldc.LT.max(1,n)) 
THEN 
  230          CALL xerbla(
'CSYRK ',info)
 
  236      IF ((n.EQ.0) .OR. (((alpha.EQ.zero).OR.
 
  237     +    (k.EQ.0)).AND. (beta.EQ.one))) 
RETURN 
  241      IF (alpha.EQ.zero) 
THEN 
  243              IF (beta.EQ.zero) 
THEN 
  257              IF (beta.EQ.zero) 
THEN 
  276      IF (lsame(trans,
'N')) 
THEN 
  282                  IF (beta.EQ.zero) 
THEN 
  286                  ELSE IF (beta.NE.one) 
THEN 
  292                      IF (a(j,l).NE.zero) 
THEN 
  295                              c(i,j) = c(i,j) + temp*a(i,l)
 
  302                  IF (beta.EQ.zero) 
THEN 
  306                  ELSE IF (beta.NE.one) 
THEN 
  312                      IF (a(j,l).NE.zero) 
THEN 
  315                              c(i,j) = c(i,j) + temp*a(i,l)
 
  330                          temp = temp + a(l,i)*a(l,j)
 
  332                      IF (beta.EQ.zero) 
THEN 
  335                          c(i,j) = alpha*temp + beta*c(i,j)
 
  344                          temp = temp + a(l,i)*a(l,j)
 
  346                      IF (beta.EQ.zero) 
THEN 
  349                          c(i,j) = alpha*temp + beta*c(i,j)
 
 
subroutine csyrk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
CSYRK