28     real, 
intent(in):: vs(:, :, :)
 
   31     real, 
intent(in):: xs(:)
 
   34     real, 
intent(in):: xt(:)
 
   37     real vt(size(vs, 1), size(vs, 2), size(xt))
 
   46     ns = 
assert_eq(
size(vs, 3), 
size(xs), 
"regr33_lint ns")
 
   51        call hunt(xs, xt(it), is)
 
   52        is_b = min(max(is, 1), ns - 1)
 
   53        vt(:, :, it) = ((xs(is_b+1) - xt(it)) * vs(:, :, is_b) &
 
   54             + (xt(it) - xs(is_b)) * vs(:, :, is_b+1)) / (xs(is_b+1) - xs(is_b))
 
   68     real, 
intent(in):: vs(:, :, :, :)
 
   71     real, 
intent(in):: xs(:)
 
   74     real, 
intent(in):: xt(:)
 
   77     real vt(size(vs, 1), size(vs, 2), size(xt), size(vs, 4))
 
   86     ns = 
assert_eq(
size(vs, 3), 
size(xs), 
"regr34_lint ns")
 
   91        call hunt(xs, xt(it), is)
 
   92        is_b = min(max(is, 1), ns - 1)
 
   93        vt(:, :, it, :) = ((xs(is_b+1) - xt(it)) * vs(:, :, is_b, :) &
 
   94             + (xt(it) - xs(is_b)) * vs(:, :, is_b+1, :)) &
 
   95             / (xs(is_b+1) - xs(is_b))
 
real function, dimension(size(vs, 1), size(vs, 2), size(xt), size(vs, 4)) regr34_lint(vs, xs, xt)
real function, dimension(size(vs, 1), size(vs, 2), size(xt)) regr33_lint(vs, xs, xt)
pure subroutine hunt(xx, x, jlo)