anchor.diff:        integer :: i_generator, N
         read (task,*) i_generator, N
         if(buf%N == 0) then
  +        ! Only first time 
           call create_selection_buffer(N, N*2, buf)
  +        call create_selection_buffer(N, N*3, buf2)
         else
           if(N /= buf%N) stop "N changed... wtf man??"
         end if
  
positive.code:       end do
        if(ctask > 0) then
          call push_selection_results(zmq_socket_push, pt2, buf, task_id(1), ctask)
          pt2 = 0d0
          buf%cur = 0
        end if
  
        ctask = 0
      end if
  
  
negative.code:   do ispin1=1,2
    do ispin2=1,ispin1
      integer :: i_hole1, i_hole2, j_hole, k_hole
      do i1=N_holes(ispin1),1,-1   ! Generate low excitations first
      if(ispin1 == ispin2) then
        ib = i1+1
      else
        ib = 1
      endif
      do i2=N_holes(ispin2),ib,-1   ! Generate low excitations first
        ion_det(:,:) = psi_det_generators(:,:,i_generator)
  
        i_hole1 = hole_list(i1,ispin1)
  