1 /* Table for Advanced SIMD erff approximation
3 Copyright (C) 2024 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
20 #include "vecmath_config.h"
22 /* Lookup table used in erff.
23 For each possible rounded input r (multiples of 1/128), between
24 r = 0.0 and r = 4.0 (513 values):
25 - the first entry __erff_data.tab.erf contains the values of erf(r),
26 - the second entry __erff_data.tab.scale contains the values of
27 2/sqrt(pi)*exp(-r^2). Note that indices 0 and 1 are never hit by the
28 algorithm, since lookup is performed only for x >= 1/64-1/512. */
29 const struct erff_data __erff_data
= {
30 .tab
= { { 0x0.000000p
+0, 0x1.20dd76p
+0 },
31 { 0x1.20dbf4p
-7, 0x1.20d8f2p
+0 },
32 { 0x1.20d770p
-6, 0x1.20cb68p
+0 },
33 { 0x1.b137e0p
-6, 0x1.20b4d8p
+0 },
34 { 0x1.20c564p
-5, 0x1.209546p
+0 },
35 { 0x1.68e5d4p
-5, 0x1.206cb4p
+0 },
36 { 0x1.b0fafep
-5, 0x1.203b26p
+0 },
37 { 0x1.f902a8p
-5, 0x1.2000a0p
+0 },
38 { 0x1.207d48p
-4, 0x1.1fbd28p
+0 },
39 { 0x1.44703ep
-4, 0x1.1f70c4p
+0 },
40 { 0x1.68591ap
-4, 0x1.1f1b7ap
+0 },
41 { 0x1.8c36bep
-4, 0x1.1ebd56p
+0 },
42 { 0x1.b00812p
-4, 0x1.1e565cp
+0 },
43 { 0x1.d3cbf8p
-4, 0x1.1de698p
+0 },
44 { 0x1.f7815ap
-4, 0x1.1d6e14p
+0 },
45 { 0x1.0d9390p
-3, 0x1.1cecdcp
+0 },
46 { 0x1.1f5e1ap
-3, 0x1.1c62fap
+0 },
47 { 0x1.311fc2p
-3, 0x1.1bd07cp
+0 },
48 { 0x1.42d7fcp
-3, 0x1.1b3572p
+0 },
49 { 0x1.548642p
-3, 0x1.1a91e6p
+0 },
50 { 0x1.662a0cp
-3, 0x1.19e5eap
+0 },
51 { 0x1.77c2d2p
-3, 0x1.19318cp
+0 },
52 { 0x1.895010p
-3, 0x1.1874dep
+0 },
53 { 0x1.9ad142p
-3, 0x1.17aff0p
+0 },
54 { 0x1.ac45e4p
-3, 0x1.16e2d8p
+0 },
55 { 0x1.bdad72p
-3, 0x1.160da4p
+0 },
56 { 0x1.cf076ep
-3, 0x1.153068p
+0 },
57 { 0x1.e05354p
-3, 0x1.144b3cp
+0 },
58 { 0x1.f190aap
-3, 0x1.135e30p
+0 },
59 { 0x1.015f78p
-2, 0x1.12695ep
+0 },
60 { 0x1.09eed6p
-2, 0x1.116cd8p
+0 },
61 { 0x1.127632p
-2, 0x1.1068bap
+0 },
62 { 0x1.1af54ep
-2, 0x1.0f5d16p
+0 },
63 { 0x1.236bf0p
-2, 0x1.0e4a08p
+0 },
64 { 0x1.2bd9dcp
-2, 0x1.0d2fa6p
+0 },
65 { 0x1.343ed6p
-2, 0x1.0c0e0ap
+0 },
66 { 0x1.3c9aa8p
-2, 0x1.0ae550p
+0 },
67 { 0x1.44ed18p
-2, 0x1.09b590p
+0 },
68 { 0x1.4d35f0p
-2, 0x1.087ee4p
+0 },
69 { 0x1.5574f4p
-2, 0x1.07416cp
+0 },
70 { 0x1.5da9f4p
-2, 0x1.05fd3ep
+0 },
71 { 0x1.65d4b8p
-2, 0x1.04b27cp
+0 },
72 { 0x1.6df50ap
-2, 0x1.036140p
+0 },
73 { 0x1.760abap
-2, 0x1.0209a6p
+0 },
74 { 0x1.7e1594p
-2, 0x1.00abd0p
+0 },
75 { 0x1.861566p
-2, 0x1.fe8fb0p
-1 },
76 { 0x1.8e0a02p
-2, 0x1.fbbbbep
-1 },
77 { 0x1.95f336p
-2, 0x1.f8dc0ap
-1 },
78 { 0x1.9dd0d2p
-2, 0x1.f5f0cep
-1 },
79 { 0x1.a5a2acp
-2, 0x1.f2fa4cp
-1 },
80 { 0x1.ad6896p
-2, 0x1.eff8c4p
-1 },
81 { 0x1.b52264p
-2, 0x1.ecec78p
-1 },
82 { 0x1.bccfecp
-2, 0x1.e9d5a8p
-1 },
83 { 0x1.c47104p
-2, 0x1.e6b498p
-1 },
84 { 0x1.cc0584p
-2, 0x1.e38988p
-1 },
85 { 0x1.d38d44p
-2, 0x1.e054bep
-1 },
86 { 0x1.db081cp
-2, 0x1.dd167cp
-1 },
87 { 0x1.e275eap
-2, 0x1.d9cf06p
-1 },
88 { 0x1.e9d68ap
-2, 0x1.d67ea2p
-1 },
89 { 0x1.f129d4p
-2, 0x1.d32592p
-1 },
90 { 0x1.f86faap
-2, 0x1.cfc41ep
-1 },
91 { 0x1.ffa7eap
-2, 0x1.cc5a8ap
-1 },
92 { 0x1.03693ap
-1, 0x1.c8e91cp
-1 },
93 { 0x1.06f794p
-1, 0x1.c5701ap
-1 },
94 { 0x1.0a7ef6p
-1, 0x1.c1efcap
-1 },
95 { 0x1.0dff50p
-1, 0x1.be6872p
-1 },
96 { 0x1.117894p
-1, 0x1.bada5ap
-1 },
97 { 0x1.14eab4p
-1, 0x1.b745c6p
-1 },
98 { 0x1.1855a6p
-1, 0x1.b3aafcp
-1 },
99 { 0x1.1bb95cp
-1, 0x1.b00a46p
-1 },
100 { 0x1.1f15ccp
-1, 0x1.ac63e8p
-1 },
101 { 0x1.226ae8p
-1, 0x1.a8b828p
-1 },
102 { 0x1.25b8a8p
-1, 0x1.a5074ep
-1 },
103 { 0x1.28ff02p
-1, 0x1.a1519ep
-1 },
104 { 0x1.2c3decp
-1, 0x1.9d9762p
-1 },
105 { 0x1.2f755cp
-1, 0x1.99d8dap
-1 },
106 { 0x1.32a54cp
-1, 0x1.961650p
-1 },
107 { 0x1.35cdb4p
-1, 0x1.925008p
-1 },
108 { 0x1.38ee8ap
-1, 0x1.8e8646p
-1 },
109 { 0x1.3c07cap
-1, 0x1.8ab950p
-1 },
110 { 0x1.3f196ep
-1, 0x1.86e96ap
-1 },
111 { 0x1.42236ep
-1, 0x1.8316d6p
-1 },
112 { 0x1.4525c8p
-1, 0x1.7f41dcp
-1 },
113 { 0x1.482074p
-1, 0x1.7b6abcp
-1 },
114 { 0x1.4b1372p
-1, 0x1.7791b8p
-1 },
115 { 0x1.4dfebap
-1, 0x1.73b714p
-1 },
116 { 0x1.50e24cp
-1, 0x1.6fdb12p
-1 },
117 { 0x1.53be26p
-1, 0x1.6bfdf0p
-1 },
118 { 0x1.569244p
-1, 0x1.681ff2p
-1 },
119 { 0x1.595ea6p
-1, 0x1.644156p
-1 },
120 { 0x1.5c2348p
-1, 0x1.60625cp
-1 },
121 { 0x1.5ee02ep
-1, 0x1.5c8342p
-1 },
122 { 0x1.619556p
-1, 0x1.58a446p
-1 },
123 { 0x1.6442c0p
-1, 0x1.54c5a6p
-1 },
124 { 0x1.66e86ep
-1, 0x1.50e79ep
-1 },
125 { 0x1.69865ep
-1, 0x1.4d0a68p
-1 },
126 { 0x1.6c1c98p
-1, 0x1.492e42p
-1 },
127 { 0x1.6eab18p
-1, 0x1.455366p
-1 },
128 { 0x1.7131e6p
-1, 0x1.417a0cp
-1 },
129 { 0x1.73b102p
-1, 0x1.3da26ep
-1 },
130 { 0x1.762870p
-1, 0x1.39ccc2p
-1 },
131 { 0x1.789836p
-1, 0x1.35f940p
-1 },
132 { 0x1.7b0058p
-1, 0x1.32281ep
-1 },
133 { 0x1.7d60d8p
-1, 0x1.2e5992p
-1 },
134 { 0x1.7fb9c0p
-1, 0x1.2a8dcep
-1 },
135 { 0x1.820b12p
-1, 0x1.26c508p
-1 },
136 { 0x1.8454d6p
-1, 0x1.22ff72p
-1 },
137 { 0x1.869712p
-1, 0x1.1f3d3cp
-1 },
138 { 0x1.88d1cep
-1, 0x1.1b7e98p
-1 },
139 { 0x1.8b050ep
-1, 0x1.17c3b6p
-1 },
140 { 0x1.8d30dep
-1, 0x1.140cc4p
-1 },
141 { 0x1.8f5544p
-1, 0x1.1059eep
-1 },
142 { 0x1.91724ap
-1, 0x1.0cab62p
-1 },
143 { 0x1.9387f6p
-1, 0x1.09014cp
-1 },
144 { 0x1.959652p
-1, 0x1.055bd6p
-1 },
145 { 0x1.979d68p
-1, 0x1.01bb2cp
-1 },
146 { 0x1.999d42p
-1, 0x1.fc3ee6p
-2 },
147 { 0x1.9b95e8p
-1, 0x1.f511aap
-2 },
148 { 0x1.9d8768p
-1, 0x1.edeeeep
-2 },
149 { 0x1.9f71cap
-1, 0x1.e6d700p
-2 },
150 { 0x1.a1551ap
-1, 0x1.dfca26p
-2 },
151 { 0x1.a33162p
-1, 0x1.d8c8aap
-2 },
152 { 0x1.a506b0p
-1, 0x1.d1d2d0p
-2 },
153 { 0x1.a6d50cp
-1, 0x1.cae8dap
-2 },
154 { 0x1.a89c86p
-1, 0x1.c40b08p
-2 },
155 { 0x1.aa5d26p
-1, 0x1.bd3998p
-2 },
156 { 0x1.ac16fcp
-1, 0x1.b674c8p
-2 },
157 { 0x1.adca14p
-1, 0x1.afbcd4p
-2 },
158 { 0x1.af767ap
-1, 0x1.a911f0p
-2 },
159 { 0x1.b11c3cp
-1, 0x1.a27456p
-2 },
160 { 0x1.b2bb68p
-1, 0x1.9be438p
-2 },
161 { 0x1.b4540ap
-1, 0x1.9561c8p
-2 },
162 { 0x1.b5e630p
-1, 0x1.8eed36p
-2 },
163 { 0x1.b771e8p
-1, 0x1.8886b2p
-2 },
164 { 0x1.b8f742p
-1, 0x1.822e66p
-2 },
165 { 0x1.ba764ap
-1, 0x1.7be47ap
-2 },
166 { 0x1.bbef10p
-1, 0x1.75a91ap
-2 },
167 { 0x1.bd61a2p
-1, 0x1.6f7c6ap
-2 },
168 { 0x1.bece0ep
-1, 0x1.695e8cp
-2 },
169 { 0x1.c03464p
-1, 0x1.634fa6p
-2 },
170 { 0x1.c194b2p
-1, 0x1.5d4fd4p
-2 },
171 { 0x1.c2ef08p
-1, 0x1.575f34p
-2 },
172 { 0x1.c44376p
-1, 0x1.517de6p
-2 },
173 { 0x1.c5920ap
-1, 0x1.4bac00p
-2 },
174 { 0x1.c6dad2p
-1, 0x1.45e99cp
-2 },
175 { 0x1.c81de2p
-1, 0x1.4036d0p
-2 },
176 { 0x1.c95b46p
-1, 0x1.3a93b2p
-2 },
177 { 0x1.ca930ep
-1, 0x1.350052p
-2 },
178 { 0x1.cbc54cp
-1, 0x1.2f7cc4p
-2 },
179 { 0x1.ccf20cp
-1, 0x1.2a0916p
-2 },
180 { 0x1.ce1962p
-1, 0x1.24a554p
-2 },
181 { 0x1.cf3b5cp
-1, 0x1.1f518ap
-2 },
182 { 0x1.d0580cp
-1, 0x1.1a0dc6p
-2 },
183 { 0x1.d16f7ep
-1, 0x1.14da0ap
-2 },
184 { 0x1.d281c4p
-1, 0x1.0fb662p
-2 },
185 { 0x1.d38ef0p
-1, 0x1.0aa2d0p
-2 },
186 { 0x1.d49710p
-1, 0x1.059f5ap
-2 },
187 { 0x1.d59a34p
-1, 0x1.00ac00p
-2 },
188 { 0x1.d6986cp
-1, 0x1.f79184p
-3 },
189 { 0x1.d791cap
-1, 0x1.edeb40p
-3 },
190 { 0x1.d8865ep
-1, 0x1.e46530p
-3 },
191 { 0x1.d97636p
-1, 0x1.daff4ap
-3 },
192 { 0x1.da6162p
-1, 0x1.d1b982p
-3 },
193 { 0x1.db47f4p
-1, 0x1.c893cep
-3 },
194 { 0x1.dc29fcp
-1, 0x1.bf8e1cp
-3 },
195 { 0x1.dd0788p
-1, 0x1.b6a856p
-3 },
196 { 0x1.dde0aap
-1, 0x1.ade26cp
-3 },
197 { 0x1.deb570p
-1, 0x1.a53c42p
-3 },
198 { 0x1.df85eap
-1, 0x1.9cb5bep
-3 },
199 { 0x1.e0522ap
-1, 0x1.944ec2p
-3 },
200 { 0x1.e11a3ep
-1, 0x1.8c0732p
-3 },
201 { 0x1.e1de36p
-1, 0x1.83deeap
-3 },
202 { 0x1.e29e22p
-1, 0x1.7bd5c8p
-3 },
203 { 0x1.e35a12p
-1, 0x1.73eba4p
-3 },
204 { 0x1.e41214p
-1, 0x1.6c2056p
-3 },
205 { 0x1.e4c638p
-1, 0x1.6473b6p
-3 },
206 { 0x1.e5768cp
-1, 0x1.5ce596p
-3 },
207 { 0x1.e62322p
-1, 0x1.5575c8p
-3 },
208 { 0x1.e6cc08p
-1, 0x1.4e241ep
-3 },
209 { 0x1.e7714ap
-1, 0x1.46f066p
-3 },
210 { 0x1.e812fcp
-1, 0x1.3fda6cp
-3 },
211 { 0x1.e8b12ap
-1, 0x1.38e1fap
-3 },
212 { 0x1.e94be4p
-1, 0x1.3206dcp
-3 },
213 { 0x1.e9e336p
-1, 0x1.2b48dap
-3 },
214 { 0x1.ea7730p
-1, 0x1.24a7b8p
-3 },
215 { 0x1.eb07e2p
-1, 0x1.1e233ep
-3 },
216 { 0x1.eb9558p
-1, 0x1.17bb2cp
-3 },
217 { 0x1.ec1fa2p
-1, 0x1.116f48p
-3 },
218 { 0x1.eca6ccp
-1, 0x1.0b3f52p
-3 },
219 { 0x1.ed2ae6p
-1, 0x1.052b0cp
-3 },
220 { 0x1.edabfcp
-1, 0x1.fe6460p
-4 },
221 { 0x1.ee2a1ep
-1, 0x1.f2a902p
-4 },
222 { 0x1.eea556p
-1, 0x1.e72372p
-4 },
223 { 0x1.ef1db4p
-1, 0x1.dbd32ap
-4 },
224 { 0x1.ef9344p
-1, 0x1.d0b7a0p
-4 },
225 { 0x1.f00614p
-1, 0x1.c5d04ap
-4 },
226 { 0x1.f07630p
-1, 0x1.bb1c98p
-4 },
227 { 0x1.f0e3a6p
-1, 0x1.b09bfcp
-4 },
228 { 0x1.f14e82p
-1, 0x1.a64de6p
-4 },
229 { 0x1.f1b6d0p
-1, 0x1.9c31c6p
-4 },
230 { 0x1.f21ca0p
-1, 0x1.92470ap
-4 },
231 { 0x1.f27ff8p
-1, 0x1.888d1ep
-4 },
232 { 0x1.f2e0eap
-1, 0x1.7f036cp
-4 },
233 { 0x1.f33f7ep
-1, 0x1.75a960p
-4 },
234 { 0x1.f39bc2p
-1, 0x1.6c7e64p
-4 },
235 { 0x1.f3f5c2p
-1, 0x1.6381e2p
-4 },
236 { 0x1.f44d88p
-1, 0x1.5ab342p
-4 },
237 { 0x1.f4a31ep
-1, 0x1.5211ecp
-4 },
238 { 0x1.f4f694p
-1, 0x1.499d48p
-4 },
239 { 0x1.f547f2p
-1, 0x1.4154bcp
-4 },
240 { 0x1.f59742p
-1, 0x1.3937b2p
-4 },
241 { 0x1.f5e490p
-1, 0x1.31458ep
-4 },
242 { 0x1.f62fe8p
-1, 0x1.297dbap
-4 },
243 { 0x1.f67952p
-1, 0x1.21df9ap
-4 },
244 { 0x1.f6c0dcp
-1, 0x1.1a6a96p
-4 },
245 { 0x1.f7068cp
-1, 0x1.131e14p
-4 },
246 { 0x1.f74a6ep
-1, 0x1.0bf97ep
-4 },
247 { 0x1.f78c8cp
-1, 0x1.04fc3ap
-4 },
248 { 0x1.f7cceep
-1, 0x1.fc4b5ep
-5 },
249 { 0x1.f80ba2p
-1, 0x1.eeea8cp
-5 },
250 { 0x1.f848acp
-1, 0x1.e1d4d0p
-5 },
251 { 0x1.f8841ap
-1, 0x1.d508fap
-5 },
252 { 0x1.f8bdf2p
-1, 0x1.c885e0p
-5 },
253 { 0x1.f8f63ep
-1, 0x1.bc4a54p
-5 },
254 { 0x1.f92d08p
-1, 0x1.b05530p
-5 },
255 { 0x1.f96256p
-1, 0x1.a4a54ap
-5 },
256 { 0x1.f99634p
-1, 0x1.99397ap
-5 },
257 { 0x1.f9c8a8p
-1, 0x1.8e109cp
-5 },
258 { 0x1.f9f9bap
-1, 0x1.83298ep
-5 },
259 { 0x1.fa2974p
-1, 0x1.78832cp
-5 },
260 { 0x1.fa57dep
-1, 0x1.6e1c58p
-5 },
261 { 0x1.fa84fep
-1, 0x1.63f3f6p
-5 },
262 { 0x1.fab0dep
-1, 0x1.5a08e8p
-5 },
263 { 0x1.fadb84p
-1, 0x1.505a18p
-5 },
264 { 0x1.fb04f6p
-1, 0x1.46e66cp
-5 },
265 { 0x1.fb2d40p
-1, 0x1.3dacd2p
-5 },
266 { 0x1.fb5464p
-1, 0x1.34ac36p
-5 },
267 { 0x1.fb7a6cp
-1, 0x1.2be38cp
-5 },
268 { 0x1.fb9f60p
-1, 0x1.2351c2p
-5 },
269 { 0x1.fbc344p
-1, 0x1.1af5d2p
-5 },
270 { 0x1.fbe61ep
-1, 0x1.12ceb4p
-5 },
271 { 0x1.fc07fap
-1, 0x1.0adb60p
-5 },
272 { 0x1.fc28d8p
-1, 0x1.031ad6p
-5 },
273 { 0x1.fc48c2p
-1, 0x1.f7182ap
-6 },
274 { 0x1.fc67bcp
-1, 0x1.e85c44p
-6 },
275 { 0x1.fc85d0p
-1, 0x1.da0006p
-6 },
276 { 0x1.fca2fep
-1, 0x1.cc0180p
-6 },
277 { 0x1.fcbf52p
-1, 0x1.be5ecep
-6 },
278 { 0x1.fcdaccp
-1, 0x1.b1160ap
-6 },
279 { 0x1.fcf576p
-1, 0x1.a4255ap
-6 },
280 { 0x1.fd0f54p
-1, 0x1.978ae8p
-6 },
281 { 0x1.fd286ap
-1, 0x1.8b44e6p
-6 },
282 { 0x1.fd40bep
-1, 0x1.7f5188p
-6 },
283 { 0x1.fd5856p
-1, 0x1.73af0cp
-6 },
284 { 0x1.fd6f34p
-1, 0x1.685bb6p
-6 },
285 { 0x1.fd8562p
-1, 0x1.5d55ccp
-6 },
286 { 0x1.fd9ae2p
-1, 0x1.529b9ep
-6 },
287 { 0x1.fdafb8p
-1, 0x1.482b84p
-6 },
288 { 0x1.fdc3e8p
-1, 0x1.3e03d8p
-6 },
289 { 0x1.fdd77ap
-1, 0x1.3422fep
-6 },
290 { 0x1.fdea6ep
-1, 0x1.2a875cp
-6 },
291 { 0x1.fdfcccp
-1, 0x1.212f62p
-6 },
292 { 0x1.fe0e96p
-1, 0x1.181984p
-6 },
293 { 0x1.fe1fd0p
-1, 0x1.0f443ep
-6 },
294 { 0x1.fe3080p
-1, 0x1.06ae14p
-6 },
295 { 0x1.fe40a6p
-1, 0x1.fcab14p
-7 },
296 { 0x1.fe504cp
-1, 0x1.ec7262p
-7 },
297 { 0x1.fe5f70p
-1, 0x1.dcaf36p
-7 },
298 { 0x1.fe6e18p
-1, 0x1.cd5ecap
-7 },
299 { 0x1.fe7c46p
-1, 0x1.be7e5ap
-7 },
300 { 0x1.fe8a00p
-1, 0x1.b00b38p
-7 },
301 { 0x1.fe9748p
-1, 0x1.a202bep
-7 },
302 { 0x1.fea422p
-1, 0x1.94624ep
-7 },
303 { 0x1.feb090p
-1, 0x1.87275ep
-7 },
304 { 0x1.febc96p
-1, 0x1.7a4f6ap
-7 },
305 { 0x1.fec836p
-1, 0x1.6dd7fep
-7 },
306 { 0x1.fed374p
-1, 0x1.61beaep
-7 },
307 { 0x1.fede52p
-1, 0x1.56011cp
-7 },
308 { 0x1.fee8d4p
-1, 0x1.4a9cf6p
-7 },
309 { 0x1.fef2fep
-1, 0x1.3f8ff6p
-7 },
310 { 0x1.fefccep
-1, 0x1.34d7dcp
-7 },
311 { 0x1.ff064cp
-1, 0x1.2a727ap
-7 },
312 { 0x1.ff0f76p
-1, 0x1.205dacp
-7 },
313 { 0x1.ff1852p
-1, 0x1.169756p
-7 },
314 { 0x1.ff20e0p
-1, 0x1.0d1d6ap
-7 },
315 { 0x1.ff2924p
-1, 0x1.03ede2p
-7 },
316 { 0x1.ff3120p
-1, 0x1.f60d8ap
-8 },
317 { 0x1.ff38d6p
-1, 0x1.e4cc4ap
-8 },
318 { 0x1.ff4048p
-1, 0x1.d4143ap
-8 },
319 { 0x1.ff4778p
-1, 0x1.c3e1a6p
-8 },
320 { 0x1.ff4e68p
-1, 0x1.b430ecp
-8 },
321 { 0x1.ff551ap
-1, 0x1.a4fe84p
-8 },
322 { 0x1.ff5b90p
-1, 0x1.9646f4p
-8 },
323 { 0x1.ff61ccp
-1, 0x1.8806d8p
-8 },
324 { 0x1.ff67d0p
-1, 0x1.7a3adep
-8 },
325 { 0x1.ff6d9ep
-1, 0x1.6cdfccp
-8 },
326 { 0x1.ff7338p
-1, 0x1.5ff276p
-8 },
327 { 0x1.ff789ep
-1, 0x1.536fc2p
-8 },
328 { 0x1.ff7dd4p
-1, 0x1.4754acp
-8 },
329 { 0x1.ff82dap
-1, 0x1.3b9e40p
-8 },
330 { 0x1.ff87b2p
-1, 0x1.30499cp
-8 },
331 { 0x1.ff8c5cp
-1, 0x1.2553eep
-8 },
332 { 0x1.ff90dcp
-1, 0x1.1aba78p
-8 },
333 { 0x1.ff9532p
-1, 0x1.107a8cp
-8 },
334 { 0x1.ff9960p
-1, 0x1.06918cp
-8 },
335 { 0x1.ff9d68p
-1, 0x1.f9f9d0p
-9 },
336 { 0x1.ffa14ap
-1, 0x1.e77448p
-9 },
337 { 0x1.ffa506p
-1, 0x1.d58da6p
-9 },
338 { 0x1.ffa8a0p
-1, 0x1.c4412cp
-9 },
339 { 0x1.ffac18p
-1, 0x1.b38a3ap
-9 },
340 { 0x1.ffaf6ep
-1, 0x1.a36454p
-9 },
341 { 0x1.ffb2a6p
-1, 0x1.93cb12p
-9 },
342 { 0x1.ffb5bep
-1, 0x1.84ba30p
-9 },
343 { 0x1.ffb8b8p
-1, 0x1.762d84p
-9 },
344 { 0x1.ffbb98p
-1, 0x1.682100p
-9 },
345 { 0x1.ffbe5ap
-1, 0x1.5a90b0p
-9 },
346 { 0x1.ffc102p
-1, 0x1.4d78bcp
-9 },
347 { 0x1.ffc390p
-1, 0x1.40d564p
-9 },
348 { 0x1.ffc606p
-1, 0x1.34a306p
-9 },
349 { 0x1.ffc862p
-1, 0x1.28de12p
-9 },
350 { 0x1.ffcaa8p
-1, 0x1.1d8318p
-9 },
351 { 0x1.ffccd8p
-1, 0x1.128ebap
-9 },
352 { 0x1.ffcef4p
-1, 0x1.07fdb4p
-9 },
353 { 0x1.ffd0fap
-1, 0x1.fb99b8p
-10 },
354 { 0x1.ffd2eap
-1, 0x1.e7f232p
-10 },
355 { 0x1.ffd4cap
-1, 0x1.d4fed8p
-10 },
356 { 0x1.ffd696p
-1, 0x1.c2b9d0p
-10 },
357 { 0x1.ffd84ep
-1, 0x1.b11d70p
-10 },
358 { 0x1.ffd9f8p
-1, 0x1.a02436p
-10 },
359 { 0x1.ffdb90p
-1, 0x1.8fc8c8p
-10 },
360 { 0x1.ffdd18p
-1, 0x1.8005f0p
-10 },
361 { 0x1.ffde90p
-1, 0x1.70d6a4p
-10 },
362 { 0x1.ffdffap
-1, 0x1.6235fcp
-10 },
363 { 0x1.ffe154p
-1, 0x1.541f34p
-10 },
364 { 0x1.ffe2a2p
-1, 0x1.468daep
-10 },
365 { 0x1.ffe3e2p
-1, 0x1.397ceep
-10 },
366 { 0x1.ffe514p
-1, 0x1.2ce898p
-10 },
367 { 0x1.ffe63cp
-1, 0x1.20cc76p
-10 },
368 { 0x1.ffe756p
-1, 0x1.15246ep
-10 },
369 { 0x1.ffe866p
-1, 0x1.09ec86p
-10 },
370 { 0x1.ffe96ap
-1, 0x1.fe41cep
-11 },
371 { 0x1.ffea64p
-1, 0x1.e97ba4p
-11 },
372 { 0x1.ffeb54p
-1, 0x1.d57f52p
-11 },
373 { 0x1.ffec3ap
-1, 0x1.c245d4p
-11 },
374 { 0x1.ffed16p
-1, 0x1.afc85ep
-11 },
375 { 0x1.ffedeap
-1, 0x1.9e0058p
-11 },
376 { 0x1.ffeeb4p
-1, 0x1.8ce75ep
-11 },
377 { 0x1.ffef76p
-1, 0x1.7c7744p
-11 },
378 { 0x1.fff032p
-1, 0x1.6caa0ep
-11 },
379 { 0x1.fff0e4p
-1, 0x1.5d79ecp
-11 },
380 { 0x1.fff18ep
-1, 0x1.4ee142p
-11 },
381 { 0x1.fff232p
-1, 0x1.40daa4p
-11 },
382 { 0x1.fff2d0p
-1, 0x1.3360ccp
-11 },
383 { 0x1.fff366p
-1, 0x1.266ea8p
-11 },
384 { 0x1.fff3f6p
-1, 0x1.19ff46p
-11 },
385 { 0x1.fff480p
-1, 0x1.0e0de8p
-11 },
386 { 0x1.fff504p
-1, 0x1.0295f0p
-11 },
387 { 0x1.fff582p
-1, 0x1.ef25d4p
-12 },
388 { 0x1.fff5fcp
-1, 0x1.da0110p
-12 },
389 { 0x1.fff670p
-1, 0x1.c5b542p
-12 },
390 { 0x1.fff6dep
-1, 0x1.b23a5ap
-12 },
391 { 0x1.fff74ap
-1, 0x1.9f8894p
-12 },
392 { 0x1.fff7aep
-1, 0x1.8d986ap
-12 },
393 { 0x1.fff810p
-1, 0x1.7c629ap
-12 },
394 { 0x1.fff86cp
-1, 0x1.6be022p
-12 },
395 { 0x1.fff8c6p
-1, 0x1.5c0a38p
-12 },
396 { 0x1.fff91cp
-1, 0x1.4cda54p
-12 },
397 { 0x1.fff96cp
-1, 0x1.3e4a24p
-12 },
398 { 0x1.fff9bap
-1, 0x1.305390p
-12 },
399 { 0x1.fffa04p
-1, 0x1.22f0b4p
-12 },
400 { 0x1.fffa4cp
-1, 0x1.161be4p
-12 },
401 { 0x1.fffa90p
-1, 0x1.09cfa4p
-12 },
402 { 0x1.fffad0p
-1, 0x1.fc0d56p
-13 },
403 { 0x1.fffb0ep
-1, 0x1.e577bcp
-13 },
404 { 0x1.fffb4ap
-1, 0x1.cfd4a6p
-13 },
405 { 0x1.fffb82p
-1, 0x1.bb1a96p
-13 },
406 { 0x1.fffbb8p
-1, 0x1.a74068p
-13 },
407 { 0x1.fffbecp
-1, 0x1.943d4ap
-13 },
408 { 0x1.fffc1ep
-1, 0x1.8208bcp
-13 },
409 { 0x1.fffc4ep
-1, 0x1.709a8ep
-13 },
410 { 0x1.fffc7ap
-1, 0x1.5feadap
-13 },
411 { 0x1.fffca6p
-1, 0x1.4ff208p
-13 },
412 { 0x1.fffccep
-1, 0x1.40a8c2p
-13 },
413 { 0x1.fffcf6p
-1, 0x1.3207fcp
-13 },
414 { 0x1.fffd1ap
-1, 0x1.2408eap
-13 },
415 { 0x1.fffd3ep
-1, 0x1.16a502p
-13 },
416 { 0x1.fffd60p
-1, 0x1.09d5f8p
-13 },
417 { 0x1.fffd80p
-1, 0x1.fb2b7ap
-14 },
418 { 0x1.fffda0p
-1, 0x1.e3bcf4p
-14 },
419 { 0x1.fffdbep
-1, 0x1.cd5528p
-14 },
420 { 0x1.fffddap
-1, 0x1.b7e946p
-14 },
421 { 0x1.fffdf4p
-1, 0x1.a36eecp
-14 },
422 { 0x1.fffe0ep
-1, 0x1.8fdc1cp
-14 },
423 { 0x1.fffe26p
-1, 0x1.7d2738p
-14 },
424 { 0x1.fffe3ep
-1, 0x1.6b4702p
-14 },
425 { 0x1.fffe54p
-1, 0x1.5a329cp
-14 },
426 { 0x1.fffe68p
-1, 0x1.49e178p
-14 },
427 { 0x1.fffe7ep
-1, 0x1.3a4b60p
-14 },
428 { 0x1.fffe90p
-1, 0x1.2b6876p
-14 },
429 { 0x1.fffea2p
-1, 0x1.1d3120p
-14 },
430 { 0x1.fffeb4p
-1, 0x1.0f9e1cp
-14 },
431 { 0x1.fffec4p
-1, 0x1.02a868p
-14 },
432 { 0x1.fffed4p
-1, 0x1.ec929ap
-15 },
433 { 0x1.fffee4p
-1, 0x1.d4f4b4p
-15 },
434 { 0x1.fffef2p
-1, 0x1.be6abcp
-15 },
435 { 0x1.ffff00p
-1, 0x1.a8e8ccp
-15 },
436 { 0x1.ffff0cp
-1, 0x1.94637ep
-15 },
437 { 0x1.ffff18p
-1, 0x1.80cfdcp
-15 },
438 { 0x1.ffff24p
-1, 0x1.6e2368p
-15 },
439 { 0x1.ffff30p
-1, 0x1.5c540cp
-15 },
440 { 0x1.ffff3ap
-1, 0x1.4b581cp
-15 },
441 { 0x1.ffff44p
-1, 0x1.3b2652p
-15 },
442 { 0x1.ffff4ep
-1, 0x1.2bb5ccp
-15 },
443 { 0x1.ffff56p
-1, 0x1.1cfe02p
-15 },
444 { 0x1.ffff60p
-1, 0x1.0ef6c4p
-15 },
445 { 0x1.ffff68p
-1, 0x1.019842p
-15 },
446 { 0x1.ffff70p
-1, 0x1.e9b5e8p
-16 },
447 { 0x1.ffff78p
-1, 0x1.d16f58p
-16 },
448 { 0x1.ffff7ep
-1, 0x1.ba4f04p
-16 },
449 { 0x1.ffff84p
-1, 0x1.a447b8p
-16 },
450 { 0x1.ffff8cp
-1, 0x1.8f4cccp
-16 },
451 { 0x1.ffff92p
-1, 0x1.7b5224p
-16 },
452 { 0x1.ffff98p
-1, 0x1.684c22p
-16 },
453 { 0x1.ffff9cp
-1, 0x1.562facp
-16 },
454 { 0x1.ffffa2p
-1, 0x1.44f21ep
-16 },
455 { 0x1.ffffa6p
-1, 0x1.34894ap
-16 },
456 { 0x1.ffffacp
-1, 0x1.24eb72p
-16 },
457 { 0x1.ffffb0p
-1, 0x1.160f44p
-16 },
458 { 0x1.ffffb4p
-1, 0x1.07ebd2p
-16 },
459 { 0x1.ffffb8p
-1, 0x1.f4f12ep
-17 },
460 { 0x1.ffffbcp
-1, 0x1.db5ad0p
-17 },
461 { 0x1.ffffc0p
-1, 0x1.c304f0p
-17 },
462 { 0x1.ffffc4p
-1, 0x1.abe09ep
-17 },
463 { 0x1.ffffc6p
-1, 0x1.95df98p
-17 },
464 { 0x1.ffffcap
-1, 0x1.80f43ap
-17 },
465 { 0x1.ffffccp
-1, 0x1.6d1178p
-17 },
466 { 0x1.ffffd0p
-1, 0x1.5a2ae0p
-17 },
467 { 0x1.ffffd2p
-1, 0x1.483488p
-17 },
468 { 0x1.ffffd4p
-1, 0x1.372310p
-17 },
469 { 0x1.ffffd6p
-1, 0x1.26eb9ep
-17 },
470 { 0x1.ffffd8p
-1, 0x1.1783cep
-17 },
471 { 0x1.ffffdcp
-1, 0x1.08e1bap
-17 },
472 { 0x1.ffffdep
-1, 0x1.f5f7d8p
-18 },
473 { 0x1.ffffdep
-1, 0x1.db92b6p
-18 },
474 { 0x1.ffffe0p
-1, 0x1.c282cep
-18 },
475 { 0x1.ffffe2p
-1, 0x1.aab7acp
-18 },
476 { 0x1.ffffe4p
-1, 0x1.94219cp
-18 },
477 { 0x1.ffffe6p
-1, 0x1.7eb1a2p
-18 },
478 { 0x1.ffffe8p
-1, 0x1.6a5972p
-18 },
479 { 0x1.ffffe8p
-1, 0x1.570b6ap
-18 },
480 { 0x1.ffffeap
-1, 0x1.44ba86p
-18 },
481 { 0x1.ffffeap
-1, 0x1.335a62p
-18 },
482 { 0x1.ffffecp
-1, 0x1.22df2ap
-18 },
483 { 0x1.ffffeep
-1, 0x1.133d96p
-18 },
484 { 0x1.ffffeep
-1, 0x1.046aeap
-18 },
485 { 0x1.fffff0p
-1, 0x1.ecb9d0p
-19 },
486 { 0x1.fffff0p
-1, 0x1.d21398p
-19 },
487 { 0x1.fffff2p
-1, 0x1.b8d094p
-19 },
488 { 0x1.fffff2p
-1, 0x1.a0df10p
-19 },
489 { 0x1.fffff2p
-1, 0x1.8a2e26p
-19 },
490 { 0x1.fffff4p
-1, 0x1.74adc8p
-19 },
491 { 0x1.fffff4p
-1, 0x1.604ea8p
-19 },
492 { 0x1.fffff4p
-1, 0x1.4d0232p
-19 },
493 { 0x1.fffff6p
-1, 0x1.3aba86p
-19 },
494 { 0x1.fffff6p
-1, 0x1.296a70p
-19 },
495 { 0x1.fffff6p
-1, 0x1.190562p
-19 },
496 { 0x1.fffff8p
-1, 0x1.097f62p
-19 },
497 { 0x1.fffff8p
-1, 0x1.f59a20p
-20 },
498 { 0x1.fffff8p
-1, 0x1.d9c736p
-20 },
499 { 0x1.fffff8p
-1, 0x1.bf716cp
-20 },
500 { 0x1.fffffap
-1, 0x1.a6852cp
-20 },
501 { 0x1.fffffap
-1, 0x1.8eefd8p
-20 },
502 { 0x1.fffffap
-1, 0x1.789fb8p
-20 },
503 { 0x1.fffffap
-1, 0x1.6383f8p
-20 },
504 { 0x1.fffffap
-1, 0x1.4f8c96p
-20 },
505 { 0x1.fffffap
-1, 0x1.3caa62p
-20 },
506 { 0x1.fffffcp
-1, 0x1.2acee2p
-20 },
507 { 0x1.fffffcp
-1, 0x1.19ec60p
-20 },
508 { 0x1.fffffcp
-1, 0x1.09f5d0p
-20 },
509 { 0x1.fffffcp
-1, 0x1.f5bd96p
-21 },
510 { 0x1.fffffcp
-1, 0x1.d9371ep
-21 },
511 { 0x1.fffffcp
-1, 0x1.be41dep
-21 },
512 { 0x1.fffffcp
-1, 0x1.a4c89ep
-21 },
513 { 0x1.fffffcp
-1, 0x1.8cb738p
-21 },
514 { 0x1.fffffep
-1, 0x1.75fa8ep
-21 },
515 { 0x1.fffffep
-1, 0x1.608078p
-21 },
516 { 0x1.fffffep
-1, 0x1.4c37c0p
-21 },
517 { 0x1.fffffep
-1, 0x1.39100ep
-21 },
518 { 0x1.fffffep
-1, 0x1.26f9e0p
-21 },
519 { 0x1.fffffep
-1, 0x1.15e682p
-21 },
520 { 0x1.fffffep
-1, 0x1.05c804p
-21 },
521 { 0x1.fffffep
-1, 0x1.ed2254p
-22 },
522 { 0x1.fffffep
-1, 0x1.d06ad6p
-22 },
523 { 0x1.fffffep
-1, 0x1.b551c8p
-22 },
524 { 0x1.fffffep
-1, 0x1.9bc0a0p
-22 },
525 { 0x1.fffffep
-1, 0x1.83a200p
-22 },
526 { 0x1.fffffep
-1, 0x1.6ce1aap
-22 },
527 { 0x1.fffffep
-1, 0x1.576c72p
-22 },
528 { 0x1.fffffep
-1, 0x1.43302cp
-22 },
529 { 0x1.fffffep
-1, 0x1.301ba2p
-22 },
530 { 0x1.fffffep
-1, 0x1.1e1e86p
-22 },
531 { 0x1.fffffep
-1, 0x1.0d2966p
-22 },
532 { 0x1.000000p
+0, 0x1.fa5b50p
-23 },
533 { 0x1.000000p
+0, 0x1.dc3ae4p
-23 },
534 { 0x1.000000p
+0, 0x1.bfd756p
-23 },
535 { 0x1.000000p
+0, 0x1.a517dap
-23 },
536 { 0x1.000000p
+0, 0x1.8be4f8p
-23 },
537 { 0x1.000000p
+0, 0x1.74287ep
-23 },
538 { 0x1.000000p
+0, 0x1.5dcd66p
-23 },
539 { 0x1.000000p
+0, 0x1.48bfd4p
-23 },
540 { 0x1.000000p
+0, 0x1.34ecf8p
-23 },
541 { 0x1.000000p
+0, 0x1.224310p
-23 },
542 { 0x1.000000p
+0, 0x1.10b148p
-23 },