  Sometimes only some digits of a numerical product or some terms of a
polynomial or series product are required. Frequently these constitute the most
significant or least significant part of the value, for example when computing
initial values or refinement steps in iterative approximation schemes. Other
situations require the middle portion. In this paper we provide algorithms for
the general problem of computing a given span of coefficients within a product,
that is the terms within a range of degrees for univariate polynomials or range
digits of an integer. This generalizes the "middle product" concept of Hanrot,
Quercia and Zimmerman. We are primarily interested in problems of modest size
where constant speed up factors can improve overall system performance, and
therefore focus the discussion on classical and Karatsuba multiplication and
how methods may be combined.
