/* Table for Advanced SIMD erfcf
Copyright (C) 2024-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include "vecmath_config.h"
/* Lookup table used in vector erfcf.
For each possible rounded input r (multiples of 1/64), between
r = 0.0 and r = 10.0625 (645 values):
- the first entry __v_erfcf_data.tab.erfc contains the values of erfc(r),
- the second entry __v_erfcf_data.tab.scale contains the values of
2/sqrt(pi)*exp(-r^2). Both values may go into subnormal range, therefore
they are scaled by a large enough value 2^47 (fits in 8 bits). */
const struct v_erfcf_data __v_erfcf_data = {
.tab = { { 0x1p47, 0x1.20dd76p47 },
{ 0x1.f6f944p46, 0x1.20cb68p47 },
{ 0x1.edf3aap46, 0x1.209546p47 },
{ 0x1.e4f05p46, 0x1.203b26p47 },
{ 0x1.dbf056p46, 0x1.1fbd28p47 },
{ 0x1.d2f4dcp46, 0x1.1f1b7ap47 },
{ 0x1.c9fefep46, 0x1.1e565cp47 },
{ 0x1.c10fd4p46, 0x1.1d6e14p47 },
{ 0x1.b8287ap46, 0x1.1c62fap47 },
{ 0x1.af4ap46, 0x1.1b3572p47 },
{ 0x1.a6757ep46, 0x1.19e5eap47 },
{ 0x1.9dabfcp46, 0x1.1874dep47 },
{ 0x1.94ee88p46, 0x1.16e2d8p47 },
{ 0x1.8c3e24p46, 0x1.153068p47 },
{ 0x1.839bd6p46, 0x1.135e3p47 },
{ 0x1.7b0894p46, 0x1.116cd8p47 },
{ 0x1.728558p46, 0x1.0f5d16p47 },
{ 0x1.6a1312p46, 0x1.0d2fa6p47 },
{ 0x1.61b2acp46, 0x1.0ae55p47 },
{ 0x1.596508p46, 0x1.087ee4p47 },
{ 0x1.512b06p46, 0x1.05fd3ep47 },
{ 0x1.49057ap46, 0x1.03614p47 },
{ 0x1.40f536p46, 0x1.00abdp47 },
{ 0x1.38fbp46, 0x1.fbbbbep46 },
{ 0x1.311796p46, 0x1.f5f0cep46 },
{ 0x1.294bb4p46, 0x1.eff8c4p46 },
{ 0x1.21980ap46, 0x1.e9d5a8p46 },
{ 0x1.19fd3ep46, 0x1.e38988p46 },
{ 0x1.127bf2p46, 0x1.dd167cp46 },
{ 0x1.0b14bcp46, 0x1.d67ea2p46 },
{ 0x1.03c82ap46, 0x1.cfc41ep46 },
{ 0x1.f92d8cp45, 0x1.c8e91cp46 },
{ 0x1.eb0214p45, 0x1.c1efcap46 },
{ 0x1.dd0edap45, 0x1.bada5ap46 },
{ 0x1.cf54b4p45, 0x1.b3aafcp46 },
{ 0x1.c1d46ap45, 0x1.ac63e8p46 },
{ 0x1.b48eaep45, 0x1.a5074ep46 },
{ 0x1.a78428p45, 0x1.9d9762p46 },
{ 0x1.9ab566p45, 0x1.96165p46 },
{ 0x1.8e22eap45, 0x1.8e8646p46 },
{ 0x1.81cd24p45, 0x1.86e96ap46 },
{ 0x1.75b47p45, 0x1.7f41dcp46 },
{ 0x1.69d91ep45, 0x1.7791b8p46 },
{ 0x1.5e3b66p45, 0x1.6fdb12p46 },
{ 0x1.52db78p45, 0x1.681ff2p46 },
{ 0x1.47b96ep45, 0x1.60625cp46 },
{ 0x1.3cd554p45, 0x1.58a446p46 },
{ 0x1.322f26p45, 0x1.50e79ep46 },
{ 0x1.27c6d2p45, 0x1.492e42p46 },
{ 0x1.1d9c34p45, 0x1.417a0cp46 },
<