constexpr fseries_impl(double x, double part, double next, double epsilon, int k){
return (next>0?next:-next) > epsilon ? fseries_impl(x, part+next, f(x, k), epsilon, k+1) : part;
}

//Σ[k=0...∞]f(x,k)
constexpr fseries(double x){
return fseries_impl(x, 0, f(x,0), 0.000000001, 0);
}

意外と面倒臭いすなあ