anchor.diff:        nt += popcnt(mobileMask(j, 1)) + popcnt(mobileMask(j, 2))
       end do
       
  -    if(nt > 4) then !! TOO MANY DIFFERENCES
  -      cycle
  -    else if(nt < 3) then
  +    if(nt > 4) cycle !! TOO MANY DIFFERENCES
  +    
  +    idx(0) += 1
  +    idx(idx(0)) = i
  +    
  +    if(nt < 3) then
         if(i < i_cur) then
           N_microlist = 0  !!!! PAST LINKED TO EVERYBODY!
           ptr_microlist = 1
  
positive.code:   integer, intent(out) :: N_tmicrolist(0:mo_tot_num*2), ptr_tmicrolist(0:mo_tot_num*2+1), idx_tmicrolist(N_minilist*4)
    integer(bit_kind), intent(out) :: tmicrolist(Nint,2,N_minilist*4)
    
    integer :: i,j,k,s,nt,n_element(2)
    integer :: list(Nint*bit_kind_size,2), cur_microlist(0:mo_tot_num*2+1), cur_tmicrolist(0:mo_tot_num*2+1)
    integer(bit_kind) :: key_mask_neg(Nint,2), mobileMask(Nint,2)
    integer :: mo_tot_num_2
    mo_tot_num_2 = mo_tot_num+mo_tot_num
  
    
    do i=1,Nint
      key_mask_neg(i,1) = not(key_mask(i,1))
      key_mask_neg(i,2) = not(key_mask(i,2))
  
negative.code:   end do
    
    
    do i=1, idx(0)
      if(n_element(1, i) + n_element(2, i) > 4) stop "wired"
      if(n_element(1, i) + n_element(2, i) < 3) then
        idx_microlist(cur_microlist(0)) = idx(i)
        do k=1,Nint
          microlist(k,1,cur_microlist(0)) = minilist(k,1,idx(i))
          microlist(k,2,cur_microlist(0)) = minilist(k,2,idx(i))
        enddo
        cur_microlist(0) = cur_microlist(0) + 1
      else
        do s = 1, 2
          do j=1,n_element(s,i)
            nt = list(j,s,i) + mo_tot_num * (s-1)
            
            if(n_element(1,i) + n_element(2,i) == 4) then
              idx_microlist(cur_microlist(nt)) = idx(i)
              do k=1,Nint
                microlist(k,1,cur_microlist(nt)) = minilist(k,1,idx(i))
                microlist(k,2,cur_microlist(nt)) = minilist(k,2,idx(i))
              enddo
              cur_microlist(nt) = cur_microlist(nt) + 1
            else
              idx_tmicrolist(cur_tmicrolist(nt)) = idx(i)
              do k=1,Nint
                tmicrolist(k,1,cur_tmicrolist(nt)) = minilist(k,1,idx(i))
                tmicrolist(k,2,cur_tmicrolist(nt)) = minilist(k,2,idx(i))
              enddo
              cur_tmicrolist(nt) = cur_tmicrolist(nt) + 1
            endif
  