Remarks: If InVec::value_type, and Scalar
are all floating-point types or specializations of complex,
and if Scalar has higher precision
than InVec::value_type,
then intermediate terms in the sum use Scalar's precision or greater.
An implementation of this function for floating-point types T
can use the scaled_sum_of_squares result from
vector_sum_of_squares(x, {.scaling_factor=1.0, .scaled_sum_of_squares=init}).