anchor.diff:      real(kind=8):: t(2)
   
       Ir = 0
  -    if ( dabs(Dsln(1))<RMIn ) goto 100
  -    Dsln(1) = 1.0D0/Dsln(1)
  -    t(1) = Dsln(2)*Dsln(1)
  -    Dsln(3) = Dsln(3) - t(1)*Dsln(2)
  -    Dsln(2) = t(1)
  -    if ( dabs(Dsln(3))<RMIn ) goto 100
  -    Dsln(3) = 1.0D0/Dsln(3)
  -    t(1) = Dsln(4)*Dsln(1)
  -    Dsln(5) = Dsln(5) - Dsln(2)*Dsln(4)
  -    t(2) = Dsln(5)*Dsln(3)
  -    Dsln(6) = Dsln(6) - t(1)*Dsln(4) - t(2)*Dsln(5)
  -    Dsln(4) = t(1)
  -    Dsln(5) = t(2)
  -    if ( dabs(Dsln(6))<RMIn ) goto 100
  -    Dsln(6) = 1.0D0/Dsln(6)
  -    return
  -
  -    100 Dsln(1) = 1.0D0
  +    do
  +      if ( dabs(Dsln(1))<RMIn ) exit
  +      Dsln(1) = 1.0D0/Dsln(1)
  +      t(1) = Dsln(2)*Dsln(1)
  +      Dsln(3) = Dsln(3) - t(1)*Dsln(2)
  +      Dsln(2) = t(1)
  +      if ( dabs(Dsln(3))<RMIn ) exit
  +      Dsln(3) = 1.0D0/Dsln(3)
  +      t(1) = Dsln(4)*Dsln(1)
  +      Dsln(5) = Dsln(5) - Dsln(2)*Dsln(4)
  +      t(2) = Dsln(5)*Dsln(3)
  +      Dsln(6) = Dsln(6) - t(1)*Dsln(4) - t(2)*Dsln(5)
  +      Dsln(4) = t(1)
  +      Dsln(5) = t(2)
  +      if ( dabs(Dsln(6))<RMIn ) exit
  +      Dsln(6) = 1.0D0/Dsln(6)
  +      return
  +    enddo
  +
  +    Dsln(1) = 1.0D0
       Dsln(2) = 0.0D0
       Dsln(3) = 1.0D0
       Dsln(4) = 0.0D0
  
positive.code:     !
      ! find zeropivot
      !
      do i = 1, Neqns
        if ( Zpiv(i)/=0 ) then
          if ( Btree(1,Invp(i))==0 ) then
            Izz = i
            goto 100
          endif
        endif
      enddo
      Izz = 0
  
      100 continue
      if ( IDBg1/=0 ) then
        write (6,"(' binary tree')")
        write (6,"(i6,'(',2I6,')')") (i,Btree(1,i),Btree(2,i),i=1,Neqns)
  
negative.code:     integer:: k
      integer:: l
      integer:: locr
      logical:: found
  
      Jcpt(1:2*Nttbr) = 0
      Jcolno(1:2*Nttbr) = 0
  