Inner product of compile-time coefficients and sequence of values

Solution 1:

This appears way too complicated. Something along these lines perhaps:

template <uint64_t Divisor, uint64_t... Coefficients>
static constexpr auto inner_product(std::floating_point auto... values)
{
    return ((values * Coefficients / Divisor) + ...);
}

Demo