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:   end do
  end subroutine
  
  subroutine check_past_s(det, list, N, ok, Nint)
    implicit none
    use bitmasks
  
negative.code:         ptr_tmicrolist = 1
          return  
        else
          n_element(:, idx(0)) = (/2, 0/)
          N_microlist(0) = N_microlist(0) + 1
        endif
      else
        call bitstring_to_list(mobileMask(1,1), list(1,1,idx(0)), n_element(1, idx(0)), Nint)
        call bitstring_to_list(mobileMask(1,2), list(1,2,idx(0)), n_element(2, idx(0)), Nint)
        
        do s=1,2
          do j=1,n_element(s,idx(0))
            k = list(j,s,idx(0)) + mo_tot_num * (s-1)
            if(nt == 4) N_microlist(k) = N_microlist(k) + 1
            if(nt == 3) N_tmicrolist(k) = N_tmicrolist(k) + 1
          end do
  