anchor.diff:  c
         e=prop(2)
         pr=prop(3)
  -      pr1=1.0d0-pr
  -      pr2=1.0d0+pr
  -      pr3=1.0d0-2.0d0*pr
  +      pr1=one-pr
  +      pr2=one+pr
  +      pr3=one-two*pr
         fac=e/(pr2*pr3)
         dd=pr1*fac
         od=pr*fac
  -      ss=0.5d0*pr3*fac
  +      ss=half*pr3*fac
         do i=1,3
           dmat(iddmat(i,i))=dd
           dmat(iddmat(i+3,i+3))=ss
  
positive.code: c
        include "implicit.inc"
  c
  c...  subroutine arguments
  c
        integer nstr,nstate,nddmat,nprop
        integer iddmat(nstr,nstr)
        double precision state(nstr,nstate),dmat(nddmat),prop(nprop)
        logical matchg
  c
  c...  parameters
  c
        integer inc
        double precision zero
        parameter(inc=1,zero=0.0d0)
  c
  c...  local variables
  c
        integer i,j
  
negative.code: c
        include "implicit.inc"
  c
  c...  parameter definitions
  c
        include "ndimens.inc"
        include "nconsts.inc"
        include "rconsts.inc"
  c
  c...  subroutine arguments
  c
        integer nstate,nprop
        integer iddmat(nstr,nstr)
        double precision state(nstr,nstate),dmat(nddmat),prop(nprop)
  c
        call dspmv("u",nstr,one,dmat,state(1,2),ione,zero,state(1,1),ione)
  c
  