anchor.diff:    cps(:, N_cp) = 0d0
     cp_first_tooth(N_cp) = comb_teeth+1
   
  +  iorder = -1132154665
  +  do i=1,N_cp-1
  +    call isort(mrcc_jobs(first_cp(i)+1:first_cp(i+1)),iorder,first_cp(i+1)-first_cp(i))
  +  end do
   ! end subroutine
   END_PROVIDER
   
  
positive.code:   logical, allocatable         :: computed(:)
    integer                        :: i, j, last_full, dets(comb_teeth)
    integer                        :: k, l, cur_cp, under_det(comb_teeth+1)
    
    allocate(computed(N_det_generators))
    cps = 0d0
    cur_cp = 1
    done_cp_at = 0
  
negative.code:     
      if(N_mrcc_jobs / gen_per_cp > (cur_cp-1) .or. N_mrcc_jobs == N_det_generators) then
      !if(mod(i, comb_per_cp) == 0 .or. N_mrcc_jobs == N_det_generators) then
        first_cp(cur_cp+1) = N_mrcc_jobs
        done_cp_at(N_mrcc_jobs) = cur_cp
        cps_N(cur_cp) = dfloat(i)
        if(N_mrcc_jobs /= N_det_generators) then
  