anchor.diff:          call check_past_s(exc_det, microlist(1,1,ptr_microlist(sporb)), N_microlist(sporb) - N_futur_microlist(sporb), nok, N_int)
           if(nok) cycle
           !DET DRIVEN
  -        if(N_futur_microlist(0) > 0) then
  -          call i_H_psi(exc_det,microlist(1,1,ptr_futur_microlist(0)),psi_coef_microlist(ptr_futur_microlist(0), 1),N_int,N_futur_microlist(0),psi_selectors_size*4,N_states,i_H_psi_value)
  -        end if
  +!         if(N_futur_microlist(0) > 0) then
  +!           call i_H_psi(exc_det,microlist(1,1,ptr_futur_microlist(0)),psi_coef_microlist(ptr_futur_microlist(0), 1),N_int,N_futur_microlist(0),psi_selectors_size*4,N_states,i_H_psi_value)
  +!         end if
           !INTEGRAL DRIVEN
  -!       i_H_psi_value = d0s(mod(p1-1, mo_tot_num)+1, mod(p2-1, mo_tot_num)+1, :)
  +        do j=1, N_states
  +          i_H_psi_value(j) = d0s(mod(p1-1, mo_tot_num)+1, mod(p2-1, mo_tot_num)+1, j)
  +        end do
   
           
           if(N_futur_microlist(sporb) > 0) then
  
positive.code:   enddo
    phase = phase_dble(iand(nperm,1))
  end
  
negative.code: 
  
    do i=1, idx(0)
      if(n_element(1, i) + n_element(2, i) == 2) cycle
      pweni = 0
      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
            pweni += 1
            pwen(pweni) = nt
          
            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
            if(idx(i) < i_cur) banned(nt) = .true.
            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
        end do
      end do
      if(idx(i) < i_cur .and. pweni == 4) then
        do j=1,4
        do k=j+1,4
          banned_pair(pwen(j), pwen(k)) = .true.
          banned_pair(pwen(k), pwen(j)) = .true.
        end do
        end do
      end if
    end do
    
    
    do i=1, idx(0)
      if(n_element(1, i) + n_element(2, i) <= 2) then
        idx_microlist(cur_microlist(0)) = idx(i)
        do k=1,Nint
  