anchor.diff:        sum2above(j) += myVal**2
         Nabove(j) += 1
       end do
  -  end do
  +  end do mainLoop
   end subroutine
   
   
  
positive.code:     comb(i) = comb(i) * comb_step
      call add_comb(comb(i), computed, tbc, myWorkload)
      Ncomb = i
      if(myWorkload > maxWorkload .and. i >= 50) exit
    end do
    call reorder_tbc(tbc)
  end subroutine
  
  
  
negative.code:   integer, allocatable :: task_id(:)
    integer :: done, Nindex
    integer, allocatable :: index(:)
    double precision :: time, time0, timeLast
    double precision, external :: omp_get_wtime
    integer :: tooth, firstTBDcomb, orgTBDcomb
    integer, allocatable :: parts_to_get(:)
    logical, allocatable :: actually_computed(:)
    
    allocate(actually_computed(N_det_generators), parts_to_get(N_det_generators))
    actually_computed = computed
    
    parts_to_get(:) = 1
    parts_to_get(1:10) = 8
  
    do i=1,tbc(0)
      actually_computed(tbc(i)) = .false.
    end do
    
    orgTBDcomb = Nabove(1)
    firstTBDcomb = 1
  
    zmq_to_qp_run_socket = new_zmq_to_qp_run_socket()
    zmq_socket_pull = new_zmq_pull_socket()
    allocate(val(b%N), det(N_int, 2, b%N), task_id(N_det), index(N_det))
    done = 0
    more = 1
    time0 = omp_get_wtime()
    timeLast = time0
    
    pullLoop : do while (more == 1)
      call pull_pt2_results(zmq_socket_pull, Nindex, index, pt2_mwen, task_id, ntask)
      do i=1,Nindex
        pt2_detail(:, index(i)) += pt2_mwen(:,i)
        parts_to_get(index(i)) -= 1
        if(parts_to_get(index(i)) < 0) then 
          stop "PARTS ??"
        end if
        if(parts_to_get(index(i)) == 0) actually_computed(index(i)) = .true.
      end do
  
      do i=1, ntask
        if(task_id(i) == 0) then
  