anchor.diff:    
     comb_step = 1d0 / dfloat(comb_teeth) * (1d0 - cweight(first_det_of_comb-1))
     
  -  stato = 1d0 - comb_step + 1d-5
  +  stato = 1d0 - comb_step! + 1d-5
     do i=comb_teeth, 1, -1
       first_det_of_teeth(i) = pt2_find(stato, cweight)
       stato -= comb_step
     end do
     first_det_of_teeth(comb_teeth+1) = N_det_generators + 1
  +  first_det_of_teeth(1) = first_det_of_comb
     if(first_det_of_teeth(1) /= first_det_of_comb) stop "comb provider"
     
   END_PROVIDER
  
positive.code:   integer :: tooth
    !-8.091550677158776E-003
    call get_first_tooth(computed, tooth)
    print *, "TOOTH ", tooth 
    
    !!! ASSERT
    do i=1,first_det_of_teeth(tooth)-1
      if(not(computed(i))) stop "deter non calc"
    end do
    logical :: ok
    ok = .false.
    do i=first_det_of_teeth(tooth), first_det_of_teeth(tooth+1)-1
      if(not(computed(i))) ok = .true.
    end do
    if(not(ok)) stop "not OK..."
    !!!!!
  
    if(Nabove(tooth) >= 30) then
      E0 = sum(pt2_detail(1,:first_det_of_teeth(tooth)-1))
      avg = E0 + (sumabove(tooth) / Nabove(tooth))
      eqt = sqrt(1d0 / (Nabove(tooth)-1) * abs(sum2above(tooth) / Nabove(tooth) - (sumabove(tooth)/Nabove(tooth))**2))
      time = omp_get_wtime()
  
negative.code:   
    comb_step = 1d0/dfloat(comb_teeth)
    do i=1,N_det_generators
      if(weight(i)/norm_left < comb_step/2d0) then
        first_det_of_comb = i
        exit
      end if
  