186      SUBROUTINE zhbmv(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
 
  193      COMPLEX*16 ALPHA,BETA
 
  194      INTEGER INCX,INCY,K,LDA,N
 
  198      COMPLEX*16 A(LDA,*),X(*),Y(*)
 
  205      parameter(one= (1.0d+0,0.0d+0))
 
  207      parameter(zero= (0.0d+0,0.0d+0))
 
  210      COMPLEX*16 TEMP1,TEMP2
 
  211      INTEGER I,INFO,IX,IY,J,JX,JY,KPLUS1,KX,KY,L
 
  221      INTRINSIC dble,dconjg,max,min
 
  227      IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L')) 
THEN 
  229      ELSE IF (n.LT.0) 
THEN 
  231      ELSE IF (k.LT.0) 
THEN 
  233      ELSE IF (lda.LT. (k+1)) 
THEN 
  235      ELSE IF (incx.EQ.0) 
THEN 
  237      ELSE IF (incy.EQ.0) 
THEN 
  241          CALL xerbla(
'ZHBMV ',info)
 
  247      IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one))) 
RETURN 
  267      IF (beta.NE.one) 
THEN 
  269              IF (beta.EQ.zero) 
THEN 
  280              IF (beta.EQ.zero) 
THEN 
  293      IF (alpha.EQ.zero) 
RETURN 
  294      IF (lsame(uplo,
'U')) 
THEN 
  299          IF ((incx.EQ.1) .AND. (incy.EQ.1)) 
THEN 
  304                  DO 50 i = max(1,j-k),j - 1
 
  305                      y(i) = y(i) + temp1*a(l+i,j)
 
  306                      temp2 = temp2 + dconjg(a(l+i,j))*x(i)
 
  308                  y(j) = y(j) + temp1*dble(a(kplus1,j)) + alpha*temp2
 
  319                  DO 70 i = max(1,j-k),j - 1
 
  320                      y(iy) = y(iy) + temp1*a(l+i,j)
 
  321                      temp2 = temp2 + dconjg(a(l+i,j))*x(ix)
 
  325                  y(jy) = y(jy) + temp1*dble(a(kplus1,j)) + alpha*temp2
 
  338          IF ((incx.EQ.1) .AND. (incy.EQ.1)) 
THEN 
  342                  y(j) = y(j) + temp1*dble(a(1,j))
 
  344                  DO 90 i = j + 1,min(n,j+k)
 
  345                      y(i) = y(i) + temp1*a(l+i,j)
 
  346                      temp2 = temp2 + dconjg(a(l+i,j))*x(i)
 
  348                  y(j) = y(j) + alpha*temp2
 
  356                  y(jy) = y(jy) + temp1*dble(a(1,j))
 
  360                  DO 110 i = j + 1,min(n,j+k)
 
  363                      y(iy) = y(iy) + temp1*a(l+i,j)
 
  364                      temp2 = temp2 + dconjg(a(l+i,j))*x(ix)
 
  366                  y(jy) = y(jy) + alpha*temp2
 
 
subroutine zhbmv(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy)
ZHBMV