anchor.diff:        !
         !   build up the binary tree
         !
  -      lbtree = lwk3 - 2*NEQns
  -      last = lbtree
  -      !rmem
         allocate (BTRee(2*(NEQns+1)),stat=IERror)
         if ( IERror/=0 ) stop "ALLOCATION ERROR, btree: SUB. matini"
         call GENBTQ(INVp,MARker,BTRee,ZPIv,izz,NEQns)
  
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:     integer(kind=4), allocatable :: leaf(:)
      integer:: ir1
      integer:: irr
      integer:: izz
      integer:: izz0
      integer:: lncol
      integer:: lnleaf
      integer:: neqnsz
      integer:: ierror
  
      izz0 = 0
  
      Ir = 0
  
      !*Initialize allocation measure variables
      IALoc = 0
  