anchor.diff:  end subroutine
   
   
  -subroutine get_filling_teeth(computed, tbc)
  -  implicit none
  -  integer, intent(inout) :: tbc(0:size_tbc)
  -  logical, intent(inout) :: computed(N_det_generators)
  -  integer :: i, j, k, last_full, dets(comb_teeth)
  - 
  -  call get_last_full_tooth(computed, last_full)
  -  if(last_full /= 0) then
  -    if (tbc(0) > size(tbc) - first_det_of_teeth(last_full+1) -2) then
  -      return
  -    endif
  -    k = tbc(0)+1
  -    do j=1,first_det_of_teeth(last_full+1)-1
  -      if(.not.(computed(j))) then
  -        tbc(k) = j
  -        k=k+1
  -        computed(j) = .true.
  -      end if
  -    end do
  -    tbc(0) = k-1
  -  end if
  -
  -end subroutine
  -
  -
  -subroutine reorder_tbc(tbc)
  -  implicit none
  -  integer, intent(inout) :: tbc(0:size_tbc)
  -  logical, allocatable :: ltbc(:)
  -  integer :: i, ci
  -
  -  allocate(ltbc(size_tbc))
  -  ltbc(:) = .false.
  -  do i=1,tbc(0)
  -    ltbc(tbc(i)) = .true.
  -  end do
  -
  -  ci = 0
  -  do i=1,size_tbc
  -    if(ltbc(i)) then
  -      ci = ci+1
  -      tbc(ci) = i
  -    end if
  -  end do
  -end subroutine
  -
   
   subroutine get_comb(stato, dets, ct)
     implicit none
  
positive.code:       if(Nabove(1) < 5d0) cycle
        call get_first_tooth(actually_computed, tooth)
       
        done = 0
        do i=first_det_of_teeth(tooth), first_det_of_teeth(tooth+1)-1
          if(actually_computed(i)) done = done + 1
        end do
  
        E0 = sum(pt2_detail(1,:first_det_of_teeth(tooth)-1))
        if (tooth <= comb_teeth) then
          prop = ((1d0 - dfloat(comb_teeth - tooth + 1) * comb_step) - pt2_cweight(first_det_of_teeth(tooth)-1))
  
negative.code:     end if
    end do
  
  end subroutine
  
  
  