anchor.diff:    double precision, allocatable :: val(:)
     integer(bit_kind), allocatable :: det(:,:,:)
     integer, allocatable :: task_id(:)
  -  integer :: done, Nindex
  +  integer :: Nindex
     integer, allocatable :: index(:)
     double precision, save :: time0 = -1.d0
     double precision :: time, timeLast, Nabove_old
  
positive.code:     end if
    end do
  
  end subroutine
  
  
  subroutine get_last_full_tooth(computed, last_tooth)
    implicit none
    logical, intent(in) :: computed(N_det_generators)
    integer, intent(out) :: last_tooth
    integer :: i, j, missing
    
    last_tooth = 0
     combLoop : do i=comb_teeth, 1, -1
       missing = 1+ ishft(first_det_of_teeth(i+1)-first_det_of_teeth(i),-4) ! /16
       do j=first_det_of_teeth(i), first_det_of_teeth(i+1)-1
         if(.not.computed(j)) then
           missing -= 1
           if(missing < 0) cycle combLoop
         end if
       end do
       last_tooth = i
       exit
     end do combLoop
  end subroutine
  
  
  
negative.code:       else
          if (Nabove(tooth) > Nabove_old) then
            print '(G10.3, 2X, F16.10, 2X, G16.3, 2X, F16.4, A20)', Nabove(tooth), avg+E, eqt, time-time0, ''
            Nabove_old = Nabove(tooth)
          endif
        endif
      end if
    end do pullLoop
  
  