anchor.diff:      integer(kind=4), allocatable :: leaf(:)
       integer:: ir1
       integer:: irr
  -    integer:: iv1
       integer:: izz
       integer:: izz0
  -    integer:: ladp
  -    integer:: last
  -    integer:: lbtree
  -    integer:: lcolno
  -    integer:: lcpt
  -    integer:: left
  -    integer:: lenv
  -    integer:: lenv2
  -    integer:: lia
  -    integer:: lja
  -    integer:: lleaf
       integer:: lncol
       integer:: lnleaf
  -    integer:: lpordr
  -    integer:: lwk1
  -    integer:: lwk2
  -    integer:: lwk3
  -    integer:: lwk4
  -    integer:: lwk5
  -    integer:: lwk6
  -    integer:: lwk7
  -    integer:: lwk8
  -    integer:: lxleaf
  -    integer:: maxl
  -    integer:: neqns1
       integer:: neqnsz
       integer:: ierror
   
       izz0 = 0
   
       Ir = 0
  -    lenv = 1000000000
  -    lenv2 = LRAtio*lenv
  -    neqns1 = NEQns + 2
  -    LEN_dsln = lenv2
  -    iv1 = 51
   
       !*Initialize allocation measure variables
       IALoc = 0
  
positive.code:     !
      !  get permutation vector iperm,invp
      !
      lwk1 = lja - neqns1
      lwk2 = lwk1 - neqns1
      lwk3 = lwk2 - neqns1
      lwk4 = lwk3 - neqns1
      lwk5 = lwk4 - neqns1
      lwk6 = lwk5 - neqns1
      lwk7 = lwk6 - neqns1
      lwk8 = lwk7 - 2*NTTbr
      last = lwk8
  
      left = iv1 + 5*neqns1
  
      allocate (IPErm(NEQns),stat=IERror)
      if ( IERror/=0 ) stop "ALLOCATION ERROR, iperm: SUB. matini"
      allocate (INVp(NEQns),stat=IERror)
  
negative.code:         !
          !   build up xlnzr,colno  (this is the symbolic fct.)
          !
          allocate (XLNzr(NEQns+1),stat=IERror)
          if ( IERror/=0 ) stop "ALLOCATION ERROR, xlnzr: SUB. matini.f"
          call PRE_GNCLNO(PARent,XLEaf,LEAf,XLNzr,NEQns,NSTop,lncol,ir1)
  