anchor.diff:  
     end function interp2d_dp
   
  -    real(dp) function average_lin_dp(a,b)
  -        implicit none
  -        real(dp),intent(in) :: a,b
  -        average_lin_dp = 0.5_dp * (a + b)
  -    end function average_lin_dp
  -
  -    real(dp) function average_log_dp(a,b)
  -        implicit none
  -        real(dp),intent(in) :: a,b
  -        average_log_dp = sqrt(a*b)
  -    end function average_log_dp
  -
  -    subroutine rebin_dp(x, y, xx, yy)
  +  real(dp) function average_lin_dp(a,b)
  +    implicit none
  +    real(dp),intent(in) :: a,b
  +    average_lin_dp = 0.5_dp * (a + b)
  +  end function average_lin_dp
  +
  +  real(dp) function average_log_dp(a,b)
  +    implicit none
  +    real(dp),intent(in) :: a,b
  +    average_log_dp = sqrt(a*b)
  +  end function average_log_dp
  +
  +  subroutine rebin_dp(x, y, xx, yy)
       real(dp),intent(in) :: x(:), y(:), xx(:)
       real(dp),intent(out) :: yy(:)
       call rebin_general_dp(x, y, xx, yy, average_lin_dp, integral_subset_dp)
  -    end subroutine rebin_dp
  -    
  -    subroutine rebin_linlog_dp(x, y, xx, yy)
  +  end subroutine rebin_dp
  +
  +  subroutine rebin_linlog_dp(x, y, xx, yy)
       real(dp),intent(in) :: x(:), y(:), xx(:)
       real(dp),intent(out) :: yy(:)
       call rebin_general_dp(x, y, xx, yy, average_lin_dp, integral_linlog_subset_dp)
  -    end subroutine rebin_linlog_dp
  -    
  -        subroutine rebin_loglin_dp(x, y, xx, yy)
  +  end subroutine rebin_linlog_dp
  +
  +  subroutine rebin_loglin_dp(x, y, xx, yy)
       real(dp),intent(in) :: x(:), y(:), xx(:)
       real(dp),intent(out) :: yy(:)
       call rebin_general_dp(x, y, xx, yy, average_log_dp, integral_loglin_subset_dp)
  -    end subroutine rebin_loglin_dp
  -    
  -    subroutine rebin_loglog_dp(x, y, xx, yy)
  +  end subroutine rebin_loglin_dp
  +
  +  subroutine rebin_loglog_dp(x, y, xx, yy)
       real(dp),intent(in) :: x(:), y(:), xx(:)
       real(dp),intent(out) :: yy(:)
       call rebin_general_dp(x, y, xx, yy, average_log_dp, integral_loglog_subset_dp)
  -    end subroutine rebin_loglog_dp
  -
  -     subroutine rebin_general_dp(x, y, xx, yy, f_average, f_integral)
  +  end subroutine rebin_loglog_dp
  +
  +  subroutine rebin_general_dp(x, y, xx, yy, f_average, f_integral)
       implicit none
       real(dp),intent(in) :: x(:), y(:), xx(:)
       real(dp),intent(out) :: yy(:)
       integer :: i
       real(dp) :: xmin, xmax
  -        interface
  +    interface
          real(dp) function f_average(a,b)
            import :: dp
            implicit none
  
positive.code: ! MD5 of template: 19a13172cee8d4d396bd8e3a39c6cb08
  ! Array related routines (Integration, Interpolation, etc.)
  ! Thomas Robitaille (c) 2009
  
  
negative.code:      module procedure rebin_sp
       module procedure rebin_dp
    end interface rebin
  
    public :: rebin_linlog
    interface rebin_linlog
       module procedure rebin_linlog_sp
       module procedure rebin_linlog_dp
    end interface rebin_linlog
  
    public :: rebin_loglin
    interface rebin_loglin
       module procedure rebin_loglin_sp
       module procedure rebin_loglin_dp
  