anchor.diff:        character errstrng*(*)
         double precision alnz(*),pcg(*),zcg(*),dprev(*)
         double precision bextern(*),btraction(*),bgravity(*),bconcforce(*)
  -      double precision bprestress(*),bintern(*),bresid(*),bwork(*)
  +      double precision bintern(*),bresid(*),bwork(*)
         double precision dispvec(*),grav(*)
         double precision x(*),d(*),deld(*),dcur(*),wink(*)
         double precision dx(*),deldx(*),dxcur(*),winkx(*)
         double precision dfault(*),tfault(*)
         double precision s(*),stemp(*)
  -      double precision state(*),dstate(*),dmat(*)
  +      double precision state(*),dstate(*),state0(*),dmat(*)
         double precision pres(*),pdir(*)
         double precision prop(*),tminmax
         double precision gauss(*),sh(*),shj(*)
  
positive.code: c
  c...  compute total external load and residual force vector
  c
          call bsum(bextern,btraction,bgravity,bconcforce,bprestress,
       &   bintern,bresid,nextflag,ntractflag,ngravflag,nconcflag,
       &   nprestrflag,neq)
  c
  c...compute the global displacement increment vector using a
  c   preconditioned conjugate gradients iterative solver.  Upon
  
negative.code:         ireform=0
          if(reform) ireform=1
          ntimdat(9)=ireform
  cdebug        write(6,*) "updats,reform,ireform,iter,maxitp:",
  cdebug     &   updats,reform,ireform,iter,maxitp
          used=nstep.gt.0.and.(nsol.eq.3.or.nsol.eq.4).and.iter.eq.1
          if(iter.gt.1) fulout=.false.
  c
  