anchor.diff:        else
           ip=2
         end if
  -      call dcopy(neq,b,ione,bres,ione)
  +      call dcopy(neq,bresid,ione,bwork,ione)
         if(.not.used) then
  -        call fill(d,zero,neq)
  +        call fill(dispvec,zero,neq)
         else
  -cdebug2        write(6,*) "Test in pcginv!"
  -        call dcopy(neq,dprev,ione,d,ione)
  +cdebug        write(6,*) "Test in pcginv!"
  +        call dcopy(neq,dprev,ione,dispvec,ione)
           etmp=zero
  -	tmp(1)=dnrm2(neq,d,ione)
  -	tmp(2)=dnrm2(neq,bres,ione)
  +	tmp(1)=dnrm2(neq,dispvec,ione)
  +	tmp(2)=dnrm2(neq,bwork,ione)
           tmp(3)=zero
           do i=1,neq
  -          en=d(i)*bres(i)
  +          en=dispvec(i)*bwork(i)
             tmp(3)=tmp(3)+en*en
  -          bres(i)=bres(i)-d(i)*alnz(i)
  +          bwork(i)=bwork(i)-dispvec(i)*alnz(i)
             do j=ja(i),ja(i+1)-1
  -            bres(i)=bres(i)-d(ja(j))*alnz(j)
  +            bwork(i)=bwork(i)-dispvec(ja(j))*alnz(j)
             end do
  -          en=d(i)*bres(i)
  +          en=dispvec(i)*bwork(i)
             etmp=etmp+en*en
           end do
  -	ftmp=dnrm2(neq,bres,ione)
  +	ftmp=dnrm2(neq,bwork,ione)
           etmp=sqrt(etmp)
           tmp(3)=sqrt(tmp(3))
           do i=1,3
  
positive.code: 	acc(2)=ftmp/tmp(2)
  	acc(3)=etmp/tmp(3)
  	l=0
  	converge=.true.
  	if(idout.gt.1) write(kw,800) l
  	write(kto,800) l
  	go to 10
        end if
        if(ip.eq.1) then
          call dcopy(neq,bres,ione,z,ione)
  	call dtbsv("u","n","n",neq,izero,alnz,ione,z,ione)
          call dcopy(neq,z,ione,p,ione)
  	rtz0=ddot(neq,bres,ione,z,ione)
        else if(ip.eq.2) then
          call gspre(alnz,bres,z,rtz0,ja,neq,nnz)
          call dcopy(neq,z,ione,p,ione)
        end if
  c
  
negative.code: c
  c...  subroutine arguments
  c
        integer neq,nprevdflag,nnz,ndtot,idout,kto,kw
        integer ja(nnz)
        double precision alnz(nnz),bresid(neq),dispvec(neq),bwork(neq)
        double precision p(neq),z(neq),dprev(nprevdflag*neq)
        logical used
  c
  c...  included dimension and type statements
  