modified the evaluation of the spline_func so that the higher orders can be
evaluated at a lower level