FLINT3.7.0-dev

_flint_mpn_mulhigh_known_low

Synopsis#include <flint/mpn_extras.h>
void _flint_mpn_mulhigh_known_low(mp_ptr out, mp_srcptr x, mp_size_t xn, mp_srcptr y, mp_size_t yn, mp_srcptr kl, mp_size_t kl_len, mp_size_t klo, mp_size_t khi, mp_ptr scratch)source

Sets (\mathit{out}, \mathit{khi} - \mathit{klo}) to the exact limbs [\mathit{klo}, \mathit{khi}) of the product xy, given that its low \mathit{klo} limbs are known and equal to (\mathit{kl}, \mathit{kl\_len}) (zero above kl_len). The window is computed from a windowed middle product starting three guard limbs below \mathit{klo}, whose deficit is less than B^2 units of its lowest limb, and the known low limbs tell which carry was lost. scratch must have room for \mathit{khi} limbs. This is used by Hensel division and the 2-adic square root, where the low part of a product is known in advance.

Cite this page

The FLINT team, “_flint_mpn_mulhigh_known_low (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/_flint_mpn_mulhigh_known_low.html (generated 2026-10-20).