anchor.diff:    
     integer(bit_kind),intent(in)  :: miniList(Nint,2,N_det_generators)
     integer,intent(in)            :: N_miniList
  -  
  +
     
     
     N_tq = 0
  +  
  +  
     i_loop : do i=1,N_selected
       do j=1,N_miniList
         nt = 0
  
positive.code:     N_miniList = i_generator-1
      miniList(:,:,:N_miniList) = psi_det_generators(:,:,:N_minilist)
    else
      N_miniList = 0
      do i=i_generator-1,1,-1
        k = l
        do ni=1,nint
          k -= popcnt(iand(key_mask(ni,1), psi_det_generators(ni,1,i))) + popcnt(iand(key_mask(ni,2), psi_det_generators(ni,2,i)))
        end do
        
        if(k == 0) then
          deallocate(miniList, idx_miniList)
          return
        end if
        if(k <= 2) then
          N_minilist += 1
          miniList(:,:,N_minilist) = psi_det_generators(:,:,i)
        end if
      end do                                                                                                                           
    end if
    
    
  
negative.code:   integer                        :: iint, ipos
    integer                        :: i_state, k_sd, l_sd, i_I, i_alpha
    
    integer(bit_kind),allocatable  :: miniList(:,:,:), supalist(:,:,:)
    integer(bit_kind),intent(in)   :: key_mask(Nint, 2)
    integer,allocatable            :: idx_miniList(:)
    integer                        :: N_miniList, N_supalist, ni, leng
    
    
    leng = max(N_det_generators, N_det_non_ref)
    allocate(miniList(Nint, 2, leng), idx_miniList(leng), supalist(Nint,2,leng))
    
    l = 0
    N_miniList = 0
    N_supalist = 0
      
    do ni = 1,Nint
      l += popcnt(key_mask(ni,1)) + popcnt(key_mask(ni,2))
    end do
  