xref: /freebsd/contrib/arm-optimized-routines/pl/math/v_exp_tail.h (revision 072a4ba82a01476eaee33781ccd241033eefcf0b)
1*072a4ba8SAndrew Turner /*
2*072a4ba8SAndrew Turner  * Constants for double-precision e^(x+tail) vector function.
3*072a4ba8SAndrew Turner  *
4*072a4ba8SAndrew Turner  * Copyright (c) 2019-2023, Arm Limited.
5*072a4ba8SAndrew Turner  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*072a4ba8SAndrew Turner  */
7*072a4ba8SAndrew Turner 
8*072a4ba8SAndrew Turner #include "math_config.h"
9*072a4ba8SAndrew Turner 
10*072a4ba8SAndrew Turner #define C1_scal 0x1.fffffffffffd4p-2
11*072a4ba8SAndrew Turner #define C2_scal 0x1.5555571d6b68cp-3
12*072a4ba8SAndrew Turner #define C3_scal 0x1.5555576a59599p-5
13*072a4ba8SAndrew Turner #define InvLn2_scal 0x1.71547652b82fep8 /* N/ln2.  */
14*072a4ba8SAndrew Turner #define Ln2hi_scal 0x1.62e42fefa39efp-9 /* ln2/N.  */
15*072a4ba8SAndrew Turner #define Ln2lo_scal 0x1.abc9e3b39803f3p-64
16*072a4ba8SAndrew Turner 
17*072a4ba8SAndrew Turner #define N (1 << V_EXP_TAIL_TABLE_BITS)
18*072a4ba8SAndrew Turner #define Tab __v_exp_tail_data
19*072a4ba8SAndrew Turner #define IndexMask_scal (N - 1)
20*072a4ba8SAndrew Turner #define Shift_scal 0x1.8p+52
21*072a4ba8SAndrew Turner #define Thres_scal 704.0
22