FLINT3.7.0-dev

_mp_real_exp_opt_4, _mp_real_exp_opt_5, _mp_real_exp_opt_6, _mp_real_exp_opt_7, _mp_real_exp_opt_8, _mp_real_exp_opt_9, _mp_real_exp_opt_10, _mp_real_log1p_opt_4, _mp_real_log1p_opt_5, _mp_real_log1p_opt_6, _mp_real_log1p_opt_7, _mp_real_log1p_opt_8, _mp_real_log1p_opt_9, _mp_real_log1p_opt_10, _mp_real_atan_opt_4, _mp_real_atan_opt_5, _mp_real_atan_opt_6, _mp_real_atan_opt_7, _mp_real_atan_opt_8, _mp_real_atan_opt_9, _mp_real_atan_opt_10, _mp_real_sin_cos_opt_4, _mp_real_sin_cos_opt_5, _mp_real_sin_cos_opt_6, _mp_real_sin_cos_opt_7, _mp_real_sin_cos_opt_8, _mp_real_sin_cos_opt_9, _mp_real_sin_cos_opt_10

Synopsis#include <flint/mp_real.h>
void _mp_real_exp_opt_4(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_5(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_6(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_7(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_8(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_9(nn_ptr res, nn_srcptr x)source
void _mp_real_exp_opt_10(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_4(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_5(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_6(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_7(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_8(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_9(nn_ptr res, nn_srcptr x)source
void _mp_real_log1p_opt_10(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_4(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_5(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_6(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_7(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_8(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_9(nn_ptr res, nn_srcptr x)source
void _mp_real_atan_opt_10(nn_ptr res, nn_srcptr x)source
void _mp_real_sin_cos_opt_4(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_5(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_6(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_7(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_8(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_9(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source
void _mp_real_sin_cos_opt_10(nn_ptr ysin, nn_ptr ycos, nn_srcptr x)source

The dense-table kernels at n = 4, \ldots, 10 fraction limbs (64-bit only): for x \in [0, 1), \exp(x) (n + 1 limbs), \log(1 + x) and \operatorname{atan}(x) (n limbs), and \sin x and \cos x (n + 1 limbs each), within the bounds of the bitwise kernels for the reduction depths MP_REAL_*_OPT_R of impl.h.

Each level of the reduction removes seven bits of the argument with an exact one-limb multiplier against static tables, and the remainder is finished by a series built for its exact size. The code is generated straight-line code (one file per size, exp_opt_<n>.c and so on, emitted and tuned by dev/tune_mp_real.py). See Dense tables.

Cite this page

The FLINT team, “_mp_real_exp_opt_4, _mp_real_exp_opt_5, _mp_real_exp_opt_6, _mp_real_exp_opt_7, _mp_real_exp_opt_8, _mp_real_exp_opt_9, _mp_real_exp_opt_10, _mp_real_log1p_opt_4, _mp_real_log1p_opt_5, _mp_real_log1p_opt_6, _mp_real_log1p_opt_7, _mp_real_log1p_opt_8, _mp_real_log1p_opt_9, _mp_real_log1p_opt_10, _mp_real_atan_opt_4, _mp_real_atan_opt_5, _mp_real_atan_opt_6, _mp_real_atan_opt_7, _mp_real_atan_opt_8, _mp_real_atan_opt_9, _mp_real_atan_opt_10, _mp_real_sin_cos_opt_4, _mp_real_sin_cos_opt_5, _mp_real_sin_cos_opt_6, _mp_real_sin_cos_opt_7, _mp_real_sin_cos_opt_8, _mp_real_sin_cos_opt_9, _mp_real_sin_cos_opt_10 (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_opt_4.html (generated 2026-10-20).