anchor.diff:             c_pert,e_2_pert,H_pert_diag,Nint,N_microlist(smallerlist)+N_microlist(0),n_st,microlist(:,:,:,0),idx_microlist(:,0),N_microlist(smallerlist)+N_microlist(0)) 
       
       else
  +      if(is_connected_to(buffer(1,1,i), miniList_gen, Nint, N_minilist_gen)) then
  +        cycle
  +      end if
  +    
         call pt2_$PERT(psi_det_generators(1,1,i_generator),buffer(1,1,i), fock_diag_tmp,        &
           c_pert,e_2_pert,H_pert_diag,Nint,N_minilist,n_st,minilist,idx_minilist,N_minilist) 
       end if
  
positive.code:   integer, allocatable           :: idx_microlist(:,:), N_microlist(:)
    integer :: mobiles(2), smallerlist
    
  
    allocate( minilist(Nint,2,N_det_selectors),                        &
        minilist_gen(Nint,2,N_det_generators),                         &
        idx_minilist(N_det_selectors))
  
negative.code:        idx_microlist(N_minilist, 0:mo_tot_num*2),                  &
         N_microlist(0:mo_tot_num*2) )
    
    allocate(   microlist_gen(Nint,2,N_minilist_gen, 0:mo_tot_num*2),               &
        idx_microlist_gen(N_minilist_gen, 0:mo_tot_num*2),                  &
         N_microlist_gen(0:mo_tot_num*2) )
  
    if(key_mask(1,1) /= 0) then
      call create_microlist(minilist, N_minilist, key_mask, microlist, idx_microlist, N_microlist,Nint)
      call create_microlist(minilist_gen, N_minilist_gen, key_mask, microlist_gen, idx_microlist_gen, N_microlist_gen,Nint)
      do i=0,mo_tot_num*2
      do k=1,N_microlist(i)
        idx_microlist(k,i) = idx_minilist(idx_microlist(k,i))
  