_mp_real_exp_bitwise_rs, _mp_real_log1p_bitwise_rs, _mp_real_sin_cos_bitwise_rs, _mp_real_tan_bitwise_rs, _mp_real_atan_bitwise_rs
#include <flint/mp_real.h>void _mp_real_sin_cos_bitwise_rs(nn_ptr ysin, nn_ptr ycos, ulong * err, nn_srcptr x, slong n, int r)sourceEvaluate , , and , resp. for any by bitwise (BKM-type) argument reduction below with cached tables of resp. , followed by a series and a reconstruction. The outputs have limbs for exp, sin, cos and tan (either of ysin, ycos may be NULL) and limbs for log1p and atan. err is at most (exp), (log1p), (sin and cos), (tan) resp. (atan), for the used. selects the tuned default, at most 768; explicit values require . On 32-bit machines is required.
All work happens at the output precision, which is why the bound grows with ; a caller wanting sub-ulp accuracy pads the precision itself. With , sizes on 64-bit machines go to the per-size kernels (table-driven at one to three limbs, dense-table at four to ten limbs), and from a few limbs the reduction runs with signed digits on vector lanes in radix (_mp_real_exp_bitwise_vec and its siblings, listed under Internal functions). The tables are process-wide caches built on first use at the largest precision and index range requested so far. See Bitwise reduction.
Guides#
The FLINT team, “_mp_real_exp_bitwise_rs, _mp_real_log1p_bitwise_rs, _mp_real_sin_cos_bitwise_rs, _mp_real_tan_bitwise_rs, _mp_real_atan_bitwise_rs (mp_real.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mp_real/_mp_real_exp_bitwise_rs.html (generated 2026-11-02).
@misc{flint-doc-mp-real-mp-real-exp-bitwise-rs,
author = {{The FLINT team}},
title = {{\_mp\_real\_exp\_bitwise\_rs, \_mp\_real\_log1p\_bitwise\_rs, \_mp\_real\_sin\_cos\_bitwise\_rs, \_mp\_real\_tan\_bitwise\_rs, \_mp\_real\_atan\_bitwise\_rs (mp\_real.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/mp_real/_mp_real_exp_bitwise_rs.html},
note = {Generated 2026-11-02}
}