anchor.diff:  
     call counts_reset()
   
  +end subroutine pseudo
  +
  +subroutine pseudo_from_multiplicities(n, nk1, zk1, nc, alpha, estimate)
  +  ! pseudo counts
  +  use constants
  +  use counter
  +  implicit none
  +
  +  integer, intent(in) :: n
  +  integer, intent(in) :: nk1(n)
  +  integer, intent(in) :: zk1(n)
  +  real(float64), intent(in)  :: nc
  +  real(float64),   intent(in)  :: alpha
  +  real(float64), intent(out) :: estimate
  +
  +  integer :: i
  +  real(float64)   :: ni, na
  +
  +  call counts_fit(nk1, zk1)
  +
  +  call add_empty_bins(nc)
  +
  +  estimate = 0.0_float64
  +  do i = 1,size(nk)
  +     ni = nk(i) + alpha
  +     estimate = estimate - zk(i)*ni*log(ni)
  +  end do
  +  na = nc * alpha
  +  estimate = estimate / (n_data + na) + log(n_data + na)
  +
  +  call counts_reset()
  +
   end subroutine pseudo_from_multiplicities
   
   subroutine ww(n, counts, nc, alpha, estimate, err_estimate)
  
positive.code:   integer :: i
    real(float64)   :: ni, na
  
    call counts_fit(nk1, zk1)
  
    call add_empty_bins(nc)
  
  
negative.code: 
  end subroutine plugin_from_multiplicities
  
  subroutine pseudo(n, counts, nc, alpha, estimate)
    ! pseudo counts
    ! the alpha parameter determines the specifical prior:
    ! 0   : maximum likelihood (ML), or plugin, estimator
    ! 1/2 : Jeffreys' or Krychevsky-Trofimov (KT) estimator
    ! 1   : Laplace (LA) estimator
    ! 1/k : (where k is the number of classes) Schurmann-Grassberger (SG)  estimator
    use constants
    use counter
    implicit none
  
    integer, intent(in) :: n
    integer, intent(in) :: counts(n)
    real(float64), intent(in)  :: nc
    real(float64),   intent(in)  :: alpha
    real(float64), intent(out) :: estimate
  