FLINT3.7.0-dev

_flint_mpn_mulhigh_n_mulders_recursive, _flint_mpn_sqrhigh_mulders_recursive

Synopsis#include <flint/mpn_extras.h>
void _flint_mpn_mulhigh_n_mulders_recursive(mp_ptr rp, mp_srcptr np, mp_srcptr mp, mp_size_t n)source
void _flint_mpn_sqrhigh_mulders_recursive(mp_ptr rp, mp_srcptr np, mp_size_t n)source

Rough high product by Mulders' recursive algorithm, as described by Harvey and Zimmermann [HZ2011]. Writes to \mathit{rp}_n, \ldots, \mathit{rp}_{2n-1} an approximation of the top n limbs of the product (respectively the square), which is a lower bound with an error of less than n units of \mathit{rp}_n. rp must have room for 2n limbs; the low n limbs are used as scratch space. The split points come from a tuned table flint_mpn_mulhigh_k_tab.

References#

Cite this page

The FLINT team, “_flint_mpn_mulhigh_n_mulders_recursive, _flint_mpn_sqrhigh_mulders_recursive (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_n_mulders_recursive.html (generated 2026-10-20).