anchor.diff:  use const, only: i0, p, int_p
   
   implicit none
  -
  -abstract interface
  -
  -    pure function i_get_pop_contrib(pops, real_factor) result(contrib)
  -        use const, only: int_p, p
  -        integer(int_p), intent(in) :: pops(:), real_factor
  -        real(p) :: contrib
  -    end function i_get_pop_contrib
  -end interface
   
   contains
   
  
positive.code:         !    pops: population on determinant/excitor position.
          !    real_factor: the encoding factor by which the stored populations
          !       are multiplied to enable non-integer populations.
          ! Out:
          !    contrib: contribution to cumulative population accumulation from
          !       given position in pop list.
  
          integer(int_p), intent(in) :: pops(:), real_factor
  
          real(p) :: contrib
  
          contrib = abs(real(pops(1), p))/real(real_factor, p)
  
      end function get_pop_contrib_real
  
      pure function get_pop_contrib_cmplx(pops, real_factor) result(contrib)
  
          ! Get contribution from a given position in a population list,
          ! given complex.
  
          ! In:
          !    pops: population on determinant/excitor position.
          !    real_factor: the encoding factor by which the stored populations
          !       are multiplied to enable non-integer populations.
          ! Out:
          !    contrib: contribution to cumulative population accumulation from
          !       given position in pop list.
  
          integer(int_p), intent(in) :: pops(:), real_factor
  
          real(p) :: contrib
  
          contrib = abs(cmplx(pops(1), pops(2), p))/real(real_factor, p)
  
      end function get_pop_contrib_cmplx
  
  
  end module ccmc_utils
  
negative.code:             if (d0_pos > 1) cumulative_pops(d0_pos) = cumulative_pops(d0_pos-1)
              do i = d0_pos+1, nactive
                  cumulative_pops(i) = cumulative_pops(i-1) + &
                                          nint(get_pop_contrib(pops(:,i), real_factor, complx))
              end do
          else
              ! V simple on other processors: no reference to get in the way!
              do i = 2, nactive
                  cumulative_pops(i) = cumulative_pops(i-1) + &
                                          nint(get_pop_contrib(pops(:,i), real_factor, complx))
              end do
          end if
          if (nactive > 0) then
  