1/* Function erff vectorized with SSE4.
2 Copyright (C) 2021-2024 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 https://www.gnu.org/licenses/. */
18
19/*
20 * ALGORITHM DESCRIPTION:
21 *
22 * Basic formula is
23 * erf(x) ~ erf(x0) +
24 * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*p5)
25 * where D=x-x0, T=x0*D
26 * x0 is x rounded to a specified number of fractional bits (in this case 8),
27 * except that x0=0 for |x|<3.5/256.0 (using x0=0 for first 4 table entries)
28 *
29 * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one
30 * entry (in place of redundant exponent bits)
31 *
32 */
33
34/* Offsets for data table __svml_serf_data_internal
35 */
36#define _erf_tbl 0
37#define _AbsMask 4032
38#define _MaxThreshold 4048
39#define _SRound 4064
40#define _U2Threshold 4080
41#define _poly3_0 4096
42
43/* Lookup bias for data table __svml_serf_data_internal. */
44#define Table_Lookup_Bias -0x3c000000
45
46#include <sysdep.h>
47
48 .section .text.sse4, "ax", @progbits
49ENTRY(_ZGVbN4v_erff_sse4)
50 lea Table_Lookup_Bias+__svml_serf_data_internal(%rip), %rdi
51 movups _AbsMask+__svml_serf_data_internal(%rip), %xmm9
52 andps %xmm0, %xmm9
53
54 /*
55 * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375)
56 * can compute all results in the main path
57 */
58 movaps %xmm9, %xmm12
59
60 /* save sign */
61 pxor %xmm9, %xmm0
62 minps _MaxThreshold+__svml_serf_data_internal(%rip), %xmm12
63
64 /*
65 * vector gather:
66 * erf(x0), exp(-x0*x0)*2.0/sqrt(pi)
67 */
68 movups _SRound+__svml_serf_data_internal(%rip), %xmm1
69 movaps %xmm1, %xmm4
70 movups _U2Threshold+__svml_serf_data_internal(%rip), %xmm11
71 addps %xmm12, %xmm4
72 cmpltps %xmm12, %xmm11
73 movaps %xmm4, %xmm10
74 pslld $3, %xmm4
75 pshufd $1, %xmm4, %xmm2
76 subps %xmm1, %xmm10
77 movd %xmm4, %eax
78 movd %xmm2, %edx
79 pshufd $2, %xmm4, %xmm3
80 subps %xmm10, %xmm12
81 movd %xmm3, %ecx
82 andps %xmm12, %xmm11
83
84 /* D2 = Diff^2 */
85 mulps %xmm11, %xmm11
86 mulps %xmm12, %xmm10
87
88 /* NaN fixup */
89 minps %xmm9, %xmm12
90
91 /*
92 * Start polynomial evaluation
93 * P1
94 */
95 mulps _poly3_0+__svml_serf_data_internal(%rip), %xmm11
96 pshufd $3, %xmm4, %xmm5
97 subps %xmm10, %xmm11
98 movd %xmm5, %esi
99
100 /*
101 * branch-free
102 * (exp_h(x0) * Diff) * (poly + 1.0)
103 */
104 mulps %xmm12, %xmm11
105 movslq %eax, %rax
106 addps %xmm11, %xmm12
107 movslq %edx, %rdx
108 movslq %ecx, %rcx
109 movslq %esi, %rsi
110 movq (%rdi, %rax), %xmm13
111 movq (%rdi, %rdx), %xmm6
112 movq (%rdi, %rcx), %xmm8
113 movq (%rdi, %rsi), %xmm7
114 unpcklps %xmm6, %xmm13
115 unpcklps %xmm7, %xmm8
116 movaps %xmm13, %xmm14
117 shufps $238, %xmm8, %xmm13
118
119 /* Final result */
120 mulps %xmm12, %xmm13
121 movlhps %xmm8, %xmm14
122 addps %xmm13, %xmm14
123
124 /* set sign */
125 orps %xmm14, %xmm0
126 ret
127
128END(_ZGVbN4v_erff_sse4)
129
130 .section .rodata, "a"
131 .align 16
132
133#ifdef __svml_serf_data_internal_typedef
134typedef unsigned int VUINT32;
135typedef struct {
136 __declspec(align(16)) VUINT32 _erf_tbl[1008][1];
137 __declspec(align(16)) VUINT32 _AbsMask[4][1];
138 __declspec(align(16)) VUINT32 _MaxThreshold[4][1];
139 __declspec(align(16)) VUINT32 _SRound[4][1];
140 __declspec(align(16)) VUINT32 _U2Threshold[4][1];
141 __declspec(align(16)) VUINT32 _poly3_0[4][1];
142} __svml_serf_data_internal;
143#endif
144__svml_serf_data_internal:
145 /* _erf_tbl */
146 .long 0x00000000, 0x3f906ebb
147 .long 0x3c106dfa, 0x3f906c79
148 .long 0x3c906bb8, 0x3f9065b4
149 .long 0x3cd89bf0, 0x3f905a6c
150 .long 0x3d1062b2, 0x3f904aa3
151 .long 0x3d3472ea, 0x3f90365a
152 .long 0x3d587d7f, 0x3f901d93
153 .long 0x3d7c8154, 0x3f900050
154 .long 0x3d903ea4, 0x3f8fde94
155 .long 0x3da2381f, 0x3f8fb862
156 .long 0x3db42c8d, 0x3f8f8dbd
157 .long 0x3dc61b5f, 0x3f8f5eab
158 .long 0x3dd80409, 0x3f8f2b2e
159 .long 0x3de9e5fc, 0x3f8ef34c
160 .long 0x3dfbc0ad, 0x3f8eb70a
161 .long 0x3e06c9c8, 0x3f8e766e
162 .long 0x3e0faf0d, 0x3f8e317d
163 .long 0x3e188fe1, 0x3f8de83e
164 .long 0x3e216bfe, 0x3f8d9ab9
165 .long 0x3e2a4321, 0x3f8d48f3
166 .long 0x3e331506, 0x3f8cf2f5
167 .long 0x3e3be169, 0x3f8c98c6
168 .long 0x3e44a808, 0x3f8c3a6f
169 .long 0x3e4d68a1, 0x3f8bd7f8
170 .long 0x3e5622f2, 0x3f8b716c
171 .long 0x3e5ed6b9, 0x3f8b06d2
172 .long 0x3e6783b7, 0x3f8a9834
173 .long 0x3e7029aa, 0x3f8a259e
174 .long 0x3e78c855, 0x3f89af18
175 .long 0x3e80afbc, 0x3f8934af
176 .long 0x3e84f76b, 0x3f88b66c
177 .long 0x3e893b19, 0x3f88345d
178 .long 0x3e8d7aa7, 0x3f87ae8b
179 .long 0x3e91b5f8, 0x3f872504
180 .long 0x3e95ecee, 0x3f8697d3
181 .long 0x3e9a1f6b, 0x3f860705
182 .long 0x3e9e4d54, 0x3f8572a8
183 .long 0x3ea2768c, 0x3f84dac8
184 .long 0x3ea69af8, 0x3f843f72
185 .long 0x3eaaba7a, 0x3f83a0b6
186 .long 0x3eaed4fa, 0x3f82fe9f
187 .long 0x3eb2ea5c, 0x3f82593e
188 .long 0x3eb6fa85, 0x3f81b0a0
189 .long 0x3ebb055d, 0x3f8104d3
190 .long 0x3ebf0aca, 0x3f8055e8
191 .long 0x3ec30ab3, 0x3f7f47d8
192 .long 0x3ec70501, 0x3f7ddddf
193 .long 0x3ecaf99b, 0x3f7c6e05
194 .long 0x3ecee869, 0x3f7af867
195 .long 0x3ed2d156, 0x3f797d26
196 .long 0x3ed6b44b, 0x3f77fc62
197 .long 0x3eda9132, 0x3f76763c
198 .long 0x3ede67f6, 0x3f74ead4
199 .long 0x3ee23882, 0x3f735a4c
200 .long 0x3ee602c2, 0x3f71c4c4
201 .long 0x3ee9c6a2, 0x3f702a5f
202 .long 0x3eed840e, 0x3f6e8b3e
203 .long 0x3ef13af5, 0x3f6ce783
204 .long 0x3ef4eb45, 0x3f6b3f51
205 .long 0x3ef894ea, 0x3f6992c9
206 .long 0x3efc37d5, 0x3f67e20f
207 .long 0x3effd3f5, 0x3f662d45
208 .long 0x3f01b49d, 0x3f64748e
209 .long 0x3f037bca, 0x3f62b80d
210 .long 0x3f053f7b, 0x3f60f7e5
211 .long 0x3f06ffa8, 0x3f5f3439
212 .long 0x3f08bc4a, 0x3f5d6d2d
213 .long 0x3f0a755a, 0x3f5ba2e3
214 .long 0x3f0c2ad3, 0x3f59d57e
215 .long 0x3f0ddcae, 0x3f580523
216 .long 0x3f0f8ae6, 0x3f5631f4
217 .long 0x3f113574, 0x3f545c14
218 .long 0x3f12dc54, 0x3f5283a7
219 .long 0x3f147f81, 0x3f50a8cf
220 .long 0x3f161ef6, 0x3f4ecbb1
221 .long 0x3f17baae, 0x3f4cec6d
222 .long 0x3f1952a6, 0x3f4b0b28
223 .long 0x3f1ae6da, 0x3f492804
224 .long 0x3f1c7745, 0x3f474323
225 .long 0x3f1e03e5, 0x3f455ca8
226 .long 0x3f1f8cb7, 0x3f4374b5
227 .long 0x3f2111b7, 0x3f418b6b
228 .long 0x3f2292e4, 0x3f3fa0ee
229 .long 0x3f24103a, 0x3f3db55e
230 .long 0x3f2589b9, 0x3f3bc8dc
231 .long 0x3f26ff5d, 0x3f39db8a
232 .long 0x3f287126, 0x3f37ed89
233 .long 0x3f29df13, 0x3f35fef8
234 .long 0x3f2b4922, 0x3f340ff9
235 .long 0x3f2caf53, 0x3f3220ab
236 .long 0x3f2e11a4, 0x3f30312e
237 .long 0x3f2f7017, 0x3f2e41a1
238 .long 0x3f30caab, 0x3f2c5223
239 .long 0x3f322160, 0x3f2a62d3
240 .long 0x3f337437, 0x3f2873cf
241 .long 0x3f34c32f, 0x3f268534
242 .long 0x3f360e4c, 0x3f249721
243 .long 0x3f37558c, 0x3f22a9b3
244 .long 0x3f3898f3, 0x3f20bd06
245 .long 0x3f39d881, 0x3f1ed137
246 .long 0x3f3b1438, 0x3f1ce661
247 .long 0x3f3c4c1b, 0x3f1afca0
248 .long 0x3f3d802c, 0x3f19140f
249 .long 0x3f3eb06c, 0x3f172cc9
250 .long 0x3f3fdce0, 0x3f1546e7
251 .long 0x3f410589, 0x3f136284
252 .long 0x3f422a6b, 0x3f117fb9
253 .long 0x3f434b89, 0x3f0f9e9e
254 .long 0x3f4468e7, 0x3f0dbf4c
255 .long 0x3f458287, 0x3f0be1db
256 .long 0x3f46986f, 0x3f0a0662
257 .long 0x3f47aaa2, 0x3f082cf7
258 .long 0x3f48b925, 0x3f0655b1
259 .long 0x3f49c3fb, 0x3f0480a6
260 .long 0x3f4acb29, 0x3f02adeb
261 .long 0x3f4bceb4, 0x3f00dd96
262 .long 0x3f4ccea1, 0x3efe1f73
263 .long 0x3f4dcaf4, 0x3efa88d5
264 .long 0x3f4ec3b4, 0x3ef6f777
265 .long 0x3f4fb8e5, 0x3ef36b80
266 .long 0x3f50aa8d, 0x3eefe513
267 .long 0x3f5198b1, 0x3eec6455
268 .long 0x3f528358, 0x3ee8e968
269 .long 0x3f536a86, 0x3ee5746d
270 .long 0x3f544e43, 0x3ee20584
271 .long 0x3f552e93, 0x3ede9ccc
272 .long 0x3f560b7e, 0x3edb3a64
273 .long 0x3f56e50a, 0x3ed7de6a
274 .long 0x3f57bb3d, 0x3ed488f8
275 .long 0x3f588e1e, 0x3ed13a2b
276 .long 0x3f595db4, 0x3ecdf21c
277 .long 0x3f5a2a05, 0x3ecab0e4
278 .long 0x3f5af318, 0x3ec7769b
279 .long 0x3f5bb8f4, 0x3ec44359
280 .long 0x3f5c7ba1, 0x3ec11733
281 .long 0x3f5d3b25, 0x3ebdf23d
282 .long 0x3f5df788, 0x3ebad48d
283 .long 0x3f5eb0d1, 0x3eb7be35
284 .long 0x3f5f6707, 0x3eb4af46
285 .long 0x3f601a32, 0x3eb1a7d3
286 .long 0x3f60ca59, 0x3eaea7ea
287 .long 0x3f617784, 0x3eabaf9a
288 .long 0x3f6221bb, 0x3ea8bef3
289 .long 0x3f62c905, 0x3ea5d600
290 .long 0x3f636d69, 0x3ea2f4ce
291 .long 0x3f640ef1, 0x3ea01b68
292 .long 0x3f64ada3, 0x3e9d49d9
293 .long 0x3f654987, 0x3e9a8029
294 .long 0x3f65e2a6, 0x3e97be62
295 .long 0x3f667906, 0x3e95048b
296 .long 0x3f670cb1, 0x3e9252aa
297 .long 0x3f679dae, 0x3e8fa8c5
298 .long 0x3f682c06, 0x3e8d06e3
299 .long 0x3f68b7bf, 0x3e8a6d05
300 .long 0x3f6940e2, 0x3e87db31
301 .long 0x3f69c778, 0x3e855168
302 .long 0x3f6a4b88, 0x3e82cfad
303 .long 0x3f6acd1a, 0x3e805600
304 .long 0x3f6b4c36, 0x3e7bc8c2
305 .long 0x3f6bc8e5, 0x3e76f5a0
306 .long 0x3f6c432f, 0x3e723298
307 .long 0x3f6cbb1b, 0x3e6d7fa5
308 .long 0x3f6d30b1, 0x3e68dcc1
309 .long 0x3f6da3fa, 0x3e6449e7
310 .long 0x3f6e14fe, 0x3e5fc70e
311 .long 0x3f6e83c4, 0x3e5b542b
312 .long 0x3f6ef055, 0x3e56f136
313 .long 0x3f6f5ab8, 0x3e529e21
314 .long 0x3f6fc2f5, 0x3e4e5adf
315 .long 0x3f702915, 0x3e4a2761
316 .long 0x3f708d1f, 0x3e460399
317 .long 0x3f70ef1b, 0x3e41ef75
318 .long 0x3f714f11, 0x3e3deae4
319 .long 0x3f71ad09, 0x3e39f5d2
320 .long 0x3f72090a, 0x3e36102b
321 .long 0x3f72631c, 0x3e3239db
322 .long 0x3f72bb46, 0x3e2e72cb
323 .long 0x3f731191, 0x3e2abae4
324 .long 0x3f736604, 0x3e27120f
325 .long 0x3f73b8a5, 0x3e237833
326 .long 0x3f74097e, 0x3e1fed36
327 .long 0x3f745895, 0x3e1c70fd
328 .long 0x3f74a5f2, 0x3e19036e
329 .long 0x3f74f19b, 0x3e15a46d
330 .long 0x3f753b98, 0x3e1253dc
331 .long 0x3f7583f1, 0x3e0f119f
332 .long 0x3f75caac, 0x3e0bdd96
333 .long 0x3f760fd1, 0x3e08b7a4
334 .long 0x3f765366, 0x3e059fa9
335 .long 0x3f769573, 0x3e029586
336 .long 0x3f76d5fe, 0x3dff3230
337 .long 0x3f77150f, 0x3df95481
338 .long 0x3f7752ab, 0x3df391b9
339 .long 0x3f778eda, 0x3dede995
340 .long 0x3f77c9a2, 0x3de85bd0
341 .long 0x3f78030a, 0x3de2e825
342 .long 0x3f783b18, 0x3ddd8e4c
343 .long 0x3f7871d3, 0x3dd84dfe
344 .long 0x3f78a741, 0x3dd326f3
345 .long 0x3f78db68, 0x3dce18e3
346 .long 0x3f790e50, 0x3dc92385
347 .long 0x3f793ffc, 0x3dc4468f
348 .long 0x3f797075, 0x3dbf81b6
349 .long 0x3f799fbf, 0x3dbad4b0
350 .long 0x3f79cde1, 0x3db63f32
351 .long 0x3f79fae1, 0x3db1c0f1
352 .long 0x3f7a26c4, 0x3dad59a1
353 .long 0x3f7a518f, 0x3da908f6
354 .long 0x3f7a7b4a, 0x3da4cea4
355 .long 0x3f7aa3f9, 0x3da0aa5e
356 .long 0x3f7acba1, 0x3d9c9bd9
357 .long 0x3f7af248, 0x3d98a2c7
358 .long 0x3f7b17f4, 0x3d94bedd
359 .long 0x3f7b3ca9, 0x3d90efcd
360 .long 0x3f7b606e, 0x3d8d354b
361 .long 0x3f7b8346, 0x3d898f0a
362 .long 0x3f7ba537, 0x3d85fcbf
363 .long 0x3f7bc646, 0x3d827e1d
364 .long 0x3f7be677, 0x3d7e25af
365 .long 0x3f7c05d1, 0x3d777546
366 .long 0x3f7c2456, 0x3d70ea68
367 .long 0x3f7c420d, 0x3d6a847d
368 .long 0x3f7c5ef9, 0x3d6442f0
369 .long 0x3f7c7b1f, 0x3d5e252a
370 .long 0x3f7c9684, 0x3d582a98
371 .long 0x3f7cb12b, 0x3d5252a5
372 .long 0x3f7ccb1a, 0x3d4c9cbd
373 .long 0x3f7ce454, 0x3d47084e
374 .long 0x3f7cfcdd, 0x3d4194c7
375 .long 0x3f7d14ba, 0x3d3c4196
376 .long 0x3f7d2bef, 0x3d370e2c
377 .long 0x3f7d427f, 0x3d31f9fb
378 .long 0x3f7d586f, 0x3d2d0474
379 .long 0x3f7d6dc2, 0x3d282d0c
380 .long 0x3f7d827b, 0x3d237336
381 .long 0x3f7d96a0, 0x3d1ed669
382 .long 0x3f7daa32, 0x3d1a561b
383 .long 0x3f7dbd36, 0x3d15f1c6
384 .long 0x3f7dcfb0, 0x3d11a8e1
385 .long 0x3f7de1a2, 0x3d0d7ae9
386 .long 0x3f7df30f, 0x3d09675a
387 .long 0x3f7e03fd, 0x3d056db0
388 .long 0x3f7e146c, 0x3d018d6b
389 .long 0x3f7e2461, 0x3cfb8c15
390 .long 0x3f7e33de, 0x3cf42e22
391 .long 0x3f7e42e8, 0x3ced0003
392 .long 0x3f7e517f, 0x3ce600c0
393 .long 0x3f7e5fa9, 0x3cdf2f67
394 .long 0x3f7e6d66, 0x3cd88b05
395 .long 0x3f7e7abb, 0x3cd212ad
396 .long 0x3f7e87aa, 0x3ccbc574
397 .long 0x3f7e9435, 0x3cc5a273
398 .long 0x3f7ea05f, 0x3cbfa8c4
399 .long 0x3f7eac2b, 0x3cb9d786
400 .long 0x3f7eb79a, 0x3cb42ddb
401 .long 0x3f7ec2b1, 0x3caeaae6
402 .long 0x3f7ecd71, 0x3ca94dcf
403 .long 0x3f7ed7dc, 0x3ca415c2
404 .long 0x3f7ee1f4, 0x3c9f01ec
405 .long 0x3f7eebbd, 0x3c9a117f
406 .long 0x3f7ef537, 0x3c9543ae
407 .long 0x3f7efe66, 0x3c9097b1
408 .long 0x3f7f074b, 0x3c8c0cc2
409 .long 0x3f7f0fe8, 0x3c87a21f
410 .long 0x3f7f1840, 0x3c83570a
411 .long 0x3f7f2053, 0x3c7e558a
412 .long 0x3f7f2826, 0x3c763931
413 .long 0x3f7f2fb8, 0x3c6e579b
414 .long 0x3f7f370c, 0x3c66af65
415 .long 0x3f7f3e23, 0x3c5f3f2d
416 .long 0x3f7f4500, 0x3c58059c
417 .long 0x3f7f4ba4, 0x3c51015f
418 .long 0x3f7f5211, 0x3c4a3127
419 .long 0x3f7f5848, 0x3c4393af
420 .long 0x3f7f5e4b, 0x3c3d27b5
421 .long 0x3f7f641b, 0x3c36ebff
422 .long 0x3f7f69ba, 0x3c30df57
423 .long 0x3f7f6f29, 0x3c2b008e
424 .long 0x3f7f746a, 0x3c254e7b
425 .long 0x3f7f797f, 0x3c1fc7fb
426 .long 0x3f7f7e67, 0x3c1a6bee
427 .long 0x3f7f8326, 0x3c15393d
428 .long 0x3f7f87bb, 0x3c102ed6
429 .long 0x3f7f8c29, 0x3c0b4bab
430 .long 0x3f7f9070, 0x3c068eb5
431 .long 0x3f7f9492, 0x3c01f6f1
432 .long 0x3f7f9890, 0x3bfb06c5
433 .long 0x3f7f9c6b, 0x3bf26625
434 .long 0x3f7fa024, 0x3bea0a1d
435 .long 0x3f7fa3bc, 0x3be1f0d3
436 .long 0x3f7fa734, 0x3bda1876
437 .long 0x3f7faa8d, 0x3bd27f42
438 .long 0x3f7fadc8, 0x3bcb237a
439 .long 0x3f7fb0e6, 0x3bc4036c
440 .long 0x3f7fb3e8, 0x3bbd1d6f
441 .long 0x3f7fb6cf, 0x3bb66fe6
442 .long 0x3f7fb99c, 0x3baff93b
443 .long 0x3f7fbc4f, 0x3ba9b7e1
444 .long 0x3f7fbeea, 0x3ba3aa56
445 .long 0x3f7fc16d, 0x3b9dcf20
446 .long 0x3f7fc3d9, 0x3b9824ce
447 .long 0x3f7fc62e, 0x3b92a9f7
448 .long 0x3f7fc86e, 0x3b8d5d3c
449 .long 0x3f7fca99, 0x3b883d46
450 .long 0x3f7fccb0, 0x3b8348c6
451 .long 0x3f7fceb4, 0x3b7cfce8
452 .long 0x3f7fd0a5, 0x3b73ba24
453 .long 0x3f7fd283, 0x3b6ac6d3
454 .long 0x3f7fd450, 0x3b622096
455 .long 0x3f7fd60c, 0x3b59c51d
456 .long 0x3f7fd7b7, 0x3b51b22a
457 .long 0x3f7fd953, 0x3b49e589
458 .long 0x3f7fdadf, 0x3b425d18
459 .long 0x3f7fdc5c, 0x3b3b16c2
460 .long 0x3f7fddcc, 0x3b341080
461 .long 0x3f7fdf2d, 0x3b2d4858
462 .long 0x3f7fe081, 0x3b26bc5e
463 .long 0x3f7fe1c8, 0x3b206ab2
464 .long 0x3f7fe303, 0x3b1a5183
465 .long 0x3f7fe431, 0x3b146f09
466 .long 0x3f7fe554, 0x3b0ec18c
467 .long 0x3f7fe66c, 0x3b09475d
468 .long 0x3f7fe77a, 0x3b03feda
469 .long 0x3f7fe87d, 0x3afdccdc
470 .long 0x3f7fe975, 0x3af3f919
471 .long 0x3f7fea65, 0x3aea7f6c
472 .long 0x3f7feb4b, 0x3ae15ce8
473 .long 0x3f7fec27, 0x3ad88eb8
474 .long 0x3f7fecfc, 0x3ad0121b
475 .long 0x3f7fedc8, 0x3ac7e464
476 .long 0x3f7fee8c, 0x3ac002f8
477 .long 0x3f7fef48, 0x3ab86b52
478 .long 0x3f7feffd, 0x3ab11afe
479 .long 0x3f7ff0aa, 0x3aaa0f9a
480 .long 0x3f7ff151, 0x3aa346d7
481 .long 0x3f7ff1f1, 0x3a9cbe77
482 .long 0x3f7ff28a, 0x3a96744c
483 .long 0x3f7ff31e, 0x3a90663b
484 .long 0x3f7ff3ab, 0x3a8a9237
485 .long 0x3f7ff433, 0x3a84f643
486 .long 0x3f7ff4b5, 0x3a7f20e7
487 .long 0x3f7ff532, 0x3a74bdd2
488 .long 0x3f7ff5aa, 0x3a6abfa9
489 .long 0x3f7ff61d, 0x3a6122ea
490 .long 0x3f7ff68b, 0x3a57e42f
491 .long 0x3f7ff6f5, 0x3a4f002c
492 .long 0x3f7ff75a, 0x3a4673af
493 .long 0x3f7ff7bb, 0x3a3e3ba2
494 .long 0x3f7ff819, 0x3a365507
495 .long 0x3f7ff872, 0x3a2ebcf6
496 .long 0x3f7ff8c7, 0x3a2770a1
497 .long 0x3f7ff919, 0x3a206d52
498 .long 0x3f7ff968, 0x3a19b066
499 .long 0x3f7ff9b3, 0x3a133754
500 .long 0x3f7ff9fb, 0x3a0cffa3
501 .long 0x3f7ffa40, 0x3a0706f4
502 .long 0x3f7ffa82, 0x3a014af8
503 .long 0x3f7ffac1, 0x39f792ea
504 .long 0x3f7ffafe, 0x39ed0088
505 .long 0x3f7ffb38, 0x39e2daa1
506 .long 0x3f7ffb6f, 0x39d91d2d
507 .long 0x3f7ffba5, 0x39cfc44a
508 .long 0x3f7ffbd7, 0x39c6cc35
509 .long 0x3f7ffc08, 0x39be314d
510 .long 0x3f7ffc36, 0x39b5f011
511 .long 0x3f7ffc63, 0x39ae051c
512 .long 0x3f7ffc8e, 0x39a66d2a
513 .long 0x3f7ffcb6, 0x399f2512
514 .long 0x3f7ffcdd, 0x399829c8
515 .long 0x3f7ffd02, 0x3991785a
516 .long 0x3f7ffd26, 0x398b0df2
517 .long 0x3f7ffd48, 0x3984e7d2
518 .long 0x3f7ffd68, 0x397e06ab
519 .long 0x3f7ffd87, 0x3972bbde
520 .long 0x3f7ffda5, 0x3967ea53
521 .long 0x3f7ffdc1, 0x395d8d4b
522 .long 0x3f7ffddc, 0x3953a034
523 .long 0x3f7ffdf6, 0x394a1ea5
524 .long 0x3f7ffe0f, 0x3941045e
525 .long 0x3f7ffe27, 0x39384d47
526 .long 0x3f7ffe3d, 0x392ff56d
527 .long 0x3f7ffe53, 0x3927f904
528 .long 0x3f7ffe67, 0x39205461
529 .long 0x3f7ffe7b, 0x391903fe
530 .long 0x3f7ffe8d, 0x39120475
531 .long 0x3f7ffe9f, 0x390b5281
532 .long 0x3f7ffeb0, 0x3904eafc
533 .long 0x3f7ffec0, 0x38fd95bd
534 .long 0x3f7ffed0, 0x38f1de7a
535 .long 0x3f7ffedf, 0x38e6aa94
536 .long 0x3f7ffeed, 0x38dbf4a3
537 .long 0x3f7ffefa, 0x38d1b776
538 .long 0x3f7fff07, 0x38c7ee0e
539 .long 0x3f7fff13, 0x38be939c
540 .long 0x3f7fff1f, 0x38b5a381
541 .long 0x3f7fff2a, 0x38ad194e
542 .long 0x3f7fff34, 0x38a4f0bc
543 .long 0x3f7fff3f, 0x389d25b0
544 .long 0x3f7fff48, 0x3895b43b
545 .long 0x3f7fff51, 0x388e9890
546 .long 0x3f7fff5a, 0x3887cf0e
547 .long 0x3f7fff62, 0x38815434
548 .long 0x3f7fff6a, 0x3876494d
549 .long 0x3f7fff72, 0x386a7a5a
550 .long 0x3f7fff79, 0x385f355e
551 .long 0x3f7fff80, 0x38547466
552 .long 0x3f7fff86, 0x384a31bf
553 .long 0x3f7fff8c, 0x384067ee
554 .long 0x3f7fff92, 0x383711b4
555 .long 0x3f7fff98, 0x382e2a06
556 .long 0x3f7fff9d, 0x3825ac0e
557 .long 0x3f7fffa2, 0x381d9329
558 .long 0x3f7fffa7, 0x3815dae6
559 .long 0x3f7fffab, 0x380e7f01
560 .long 0x3f7fffb0, 0x38077b62
561 .long 0x3f7fffb4, 0x3800cc21
562 .long 0x3f7fffb8, 0x37f4daf4
563 .long 0x3f7fffbc, 0x37e8b7ac
564 .long 0x3f7fffbf, 0x37dd2782
565 .long 0x3f7fffc2, 0x37d223dc
566 .long 0x3f7fffc6, 0x37c7a666
567 .long 0x3f7fffc9, 0x37bda912
568 .long 0x3f7fffcc, 0x37b42611
569 .long 0x3f7fffce, 0x37ab17d6
570 .long 0x3f7fffd1, 0x37a2790f
571 .long 0x3f7fffd3, 0x379a44a5
572 .long 0x3f7fffd6, 0x379275b9
573 .long 0x3f7fffd8, 0x378b07a2
574 .long 0x3f7fffda, 0x3783f5e9
575 .long 0x3f7fffdc, 0x377a7897
576 .long 0x3f7fffde, 0x376dad68
577 .long 0x3f7fffe0, 0x37618278
578 .long 0x3f7fffe2, 0x3755f04f
579 .long 0x3f7fffe3, 0x374aefcc
580 .long 0x3f7fffe5, 0x37407a1d
581 .long 0x3f7fffe6, 0x373688bc
582 .long 0x3f7fffe8, 0x372d1570
583 .long 0x3f7fffe9, 0x37241a44
584 .long 0x3f7fffea, 0x371b9188
585 .long 0x3f7fffeb, 0x371375cf
586 .long 0x3f7fffec, 0x370bc1e7
587 .long 0x3f7fffee, 0x370470dd
588 .long 0x3f7fffef, 0x36fafbec
589 .long 0x3f7fffef, 0x36edc95b
590 .long 0x3f7ffff0, 0x36e14167
591 .long 0x3f7ffff1, 0x36d55bd6
592 .long 0x3f7ffff2, 0x36ca10ce
593 .long 0x3f7ffff3, 0x36bf58d1
594 .long 0x3f7ffff4, 0x36b52cb9
595 .long 0x3f7ffff4, 0x36ab85b5
596 .long 0x3f7ffff5, 0x36a25d43
597 .long 0x3f7ffff5, 0x3699ad31
598 .long 0x3f7ffff6, 0x36916f95
599 .long 0x3f7ffff7, 0x36899ecb
600 .long 0x3f7ffff7, 0x36823575
601 .long 0x3f7ffff8, 0x36765ce8
602 .long 0x3f7ffff8, 0x366909cc
603 .long 0x3f7ffff9, 0x365c684a
604 .long 0x3f7ffff9, 0x36506f88
605 .long 0x3f7ffff9, 0x36451713
606 .long 0x3f7ffffa, 0x363a56e4
607 .long 0x3f7ffffa, 0x36302754
608 .long 0x3f7ffffa, 0x36268119
609 .long 0x3f7ffffb, 0x361d5d43
610 .long 0x3f7ffffb, 0x3614b538
611 .long 0x3f7ffffb, 0x360c82b1
612 .long 0x3f7ffffc, 0x3604bfb1
613 .long 0x3f7ffffc, 0x35facd10
614 .long 0x3f7ffffc, 0x35ece39b
615 .long 0x3f7ffffc, 0x35dfb8b6
616 .long 0x3f7ffffd, 0x35d34296
617 .long 0x3f7ffffd, 0x35c777ec
618 .long 0x3f7ffffd, 0x35bc4fdc
619 .long 0x3f7ffffd, 0x35b1c1fc
620 .long 0x3f7ffffd, 0x35a7c64b
621 .long 0x3f7ffffd, 0x359e5531
622 .long 0x3f7ffffe, 0x35956771
623 .long 0x3f7ffffe, 0x358cf630
624 .long 0x3f7ffffe, 0x3584fae8
625 .long 0x3f7ffffe, 0x357adecb
626 .long 0x3f7ffffe, 0x356c9b8f
627 .long 0x3f7ffffe, 0x355f20ef
628 .long 0x3f7ffffe, 0x3552644f
629 .long 0x3f7ffffe, 0x35465b9c
630 .long 0x3f7fffff, 0x353afd47
631 .long 0x3f7fffff, 0x3530403c
632 .long 0x3f7fffff, 0x35261be0
633 .long 0x3f7fffff, 0x351c8807
634 .long 0x3f7fffff, 0x35137cf0
635 .long 0x3f7fffff, 0x350af341
636 .long 0x3f7fffff, 0x3502e402
637 .long 0x3f7fffff, 0x34f6912a
638 .long 0x3f7fffff, 0x34e8356b
639 .long 0x3f7fffff, 0x34daa8e4
640 .long 0x3f7fffff, 0x34cde050
641 .long 0x3f7fffff, 0x34c1d100
642 .long 0x3f7fffff, 0x34b670d5
643 .long 0x3f7fffff, 0x34abb639
644 .long 0x3f7fffff, 0x34a19816
645 .long 0x3f7fffff, 0x34980dd1
646 .long 0x3f7fffff, 0x348f0f43
647 .long 0x3f7fffff, 0x348694b3
648 .long 0x3f800000, 0x347d2da8
649 .long 0x3f800000, 0x346e1d72
650 .align 16
651 .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */
652 .align 16
653 .long 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000 /* _MaxThreshold */
654 .align 16
655 .long 0x47800000, 0x47800000, 0x47800000, 0x47800000 /* _SRound */
656 .align 16
657 .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 /* _U2THreshold */
658 .align 16
659 .long 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade /* _poly_3_0 */
660 .align 16
661 .type __svml_serf_data_internal, @object
662 .size __svml_serf_data_internal, .-__svml_serf_data_internal
663

source code of glibc/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S