1/* Function erfcf vectorized with AVX2.
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 * Approximation formula:
23 * erfc(x) ~ erfc(x0) - 2/sqrt(pi)*exp(-x0^2)*D * [ 1 + (x0*D)*p1(x0*D) + D^2 * p3(x0*D) ]
24 * D = x - x0
25 * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated
26 *
27 *
28 */
29
30/* Offsets for data table __svml_serfc_data_internal
31 */
32#define _erfc_tbl 0
33#define _AbsMask 5184
34#define _MaxThreshold 5216
35#define _SgnMask 5248
36#define _One 5280
37#define _SRound 5312
38#define _TwoM48 5344
39#define _poly1_0 5376
40#define _poly1_1 5408
41#define _poly3_0 5440
42#define _poly3_1 5472
43#define _poly1_2 5504
44#define _poly1_3 5536
45#define _UF_Threshold 5568
46
47/* Lookup bias for data table __svml_serfc_data_internal. */
48#define Table_Lookup_Bias -0x40000000
49
50#include <sysdep.h>
51
52 .section .text.avx2, "ax", @progbits
53ENTRY(_ZGVdN8v_erfcf_avx2)
54 pushq %rbp
55 cfi_def_cfa_offset(16)
56 movq %rsp, %rbp
57 cfi_def_cfa(6, 16)
58 cfi_offset(6, -16)
59 andq $-32, %rsp
60 subq $96, %rsp
61
62 /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */
63 lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rax
64 vmovaps %ymm0, %ymm6
65 vmovups _SRound+__svml_serfc_data_internal(%rip), %ymm1
66 vmovups _TwoM48+__svml_serfc_data_internal(%rip), %ymm10
67 vmovups _One+__svml_serfc_data_internal(%rip), %ymm0
68 vandps _AbsMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm5
69
70 /*
71 * erfc(10.125) underflows to 0
72 * can compute all results in the main path
73 */
74 vminps _MaxThreshold+__svml_serfc_data_internal(%rip), %ymm5, %ymm4
75 vaddps %ymm1, %ymm4, %ymm8
76 vmaxps %ymm10, %ymm4, %ymm2
77 vsubps %ymm1, %ymm8, %ymm12
78 vpslld $3, %ymm8, %ymm7
79 vandps _SgnMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm13
80 vorps %ymm13, %ymm0, %ymm3
81
82 /* 2.0 if x<0, 0.0 otherwise */
83 vsubps %ymm3, %ymm0, %ymm5
84 vsubps %ymm12, %ymm2, %ymm0
85
86 /* Start polynomial evaluation */
87 vmovups _poly1_0+__svml_serfc_data_internal(%rip), %ymm3
88 vmovups _poly3_0+__svml_serfc_data_internal(%rip), %ymm2
89 vmulps %ymm0, %ymm12, %ymm1
90 vfmadd213ps _poly1_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm3
91 vfmadd213ps _poly3_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm2
92 vfmadd213ps _poly1_2+__svml_serfc_data_internal(%rip), %ymm1, %ymm3
93
94 /* 2^(-64) with sign of input */
95 vorps %ymm13, %ymm10, %ymm4
96 vfmadd213ps _poly1_3+__svml_serfc_data_internal(%rip), %ymm1, %ymm3
97 vextractf128 $1, %ymm7, %xmm12
98 vmovd %xmm7, %edx
99 vmovd %xmm12, %r8d
100 vpextrd $1, %xmm7, %ecx
101 vpextrd $2, %xmm7, %esi
102 vpextrd $3, %xmm7, %edi
103 vpextrd $1, %xmm12, %r9d
104 vpextrd $2, %xmm12, %r10d
105 vpextrd $3, %xmm12, %r11d
106 movslq %edx, %rdx
107 movslq %ecx, %rcx
108 movslq %esi, %rsi
109 movslq %edi, %rdi
110 movslq %r8d, %r8
111 movslq %r9d, %r9
112 movslq %r10d, %r10
113 movslq %r11d, %r11
114 vmovq (%rax, %rdx), %xmm13
115 vmovq (%rax, %rcx), %xmm11
116 vmovq (%rax, %rsi), %xmm14
117 vmovq (%rax, %rdi), %xmm15
118 vmovq (%rax, %r8), %xmm7
119 vmovq (%rax, %r9), %xmm8
120 vmovq (%rax, %r10), %xmm9
121 vmovq (%rax, %r11), %xmm10
122 vunpcklps %xmm14, %xmm13, %xmm12
123 vunpcklps %xmm15, %xmm11, %xmm11
124 vunpcklps %xmm9, %xmm7, %xmm9
125 vunpcklps %xmm10, %xmm8, %xmm14
126 vinsertf128 $1, %xmm9, %ymm12, %ymm15
127 vinsertf128 $1, %xmm14, %ymm11, %ymm7
128 vunpcklps %ymm7, %ymm15, %ymm9
129 vunpckhps %ymm7, %ymm15, %ymm8
130
131 /* Diff^2 */
132 vmulps %ymm0, %ymm0, %ymm15
133
134 /* P3*D2 */
135 vmulps %ymm15, %ymm2, %ymm2
136
137 /* P1 = P1*T + P3*D2 */
138 vfmadd213ps %ymm2, %ymm1, %ymm3
139
140 /* Special arguments (for flags only) */
141 vcmplt_oqps _UF_Threshold+__svml_serfc_data_internal(%rip), %ymm6, %ymm1
142
143 /* EXP_X0H * (1+P1) */
144 vfmadd213ps %ymm8, %ymm8, %ymm3
145
146 /* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */
147 vfnmadd213ps %ymm9, %ymm3, %ymm0
148
149 /* combine and get argument value range mask */
150 vmovmskps %ymm1, %edx
151 notl %edx
152 movzbl %dl, %edx
153 vfmadd213ps %ymm5, %ymm4, %ymm0
154 testl %edx, %edx
155
156 /* Go to special inputs processing branch */
157 jne L(SPECIAL_VALUES_BRANCH)
158 # LOE rbx r12 r13 r14 r15 edx ymm0 ymm6
159
160 /* Restore registers
161 * and exit the function
162 */
163
164L(EXIT):
165 movq %rbp, %rsp
166 popq %rbp
167 cfi_def_cfa(7, 8)
168 cfi_restore(6)
169 ret
170 cfi_def_cfa(6, 16)
171 cfi_offset(6, -16)
172
173 /* Branch to process
174 * special inputs
175 */
176
177L(SPECIAL_VALUES_BRANCH):
178 vmovups %ymm6, 32(%rsp)
179 vmovups %ymm0, 64(%rsp)
180 # LOE rbx r12 r13 r14 r15 edx ymm0
181
182 xorl %eax, %eax
183 # LOE rbx r12 r13 r14 r15 eax edx
184
185 vzeroupper
186 movq %r12, 16(%rsp)
187 /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -80; DW_OP_plus) */
188 .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22
189 movl %eax, %r12d
190 movq %r13, 8(%rsp)
191 /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -88; DW_OP_plus) */
192 .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22
193 movl %edx, %r13d
194 movq %r14, (%rsp)
195 /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -96; DW_OP_plus) */
196 .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
197 # LOE rbx r15 r12d r13d
198
199 /* Range mask
200 * bits check
201 */
202
203L(RANGEMASK_CHECK):
204 btl %r12d, %r13d
205
206 /* Call scalar math function */
207 jc L(SCALAR_MATH_CALL)
208 # LOE rbx r15 r12d r13d
209
210 /* Special inputs
211 * processing loop
212 */
213
214L(SPECIAL_VALUES_LOOP):
215 incl %r12d
216 cmpl $8, %r12d
217
218 /* Check bits in range mask */
219 jl L(RANGEMASK_CHECK)
220 # LOE rbx r15 r12d r13d
221
222 movq 16(%rsp), %r12
223 cfi_restore(12)
224 movq 8(%rsp), %r13
225 cfi_restore(13)
226 movq (%rsp), %r14
227 cfi_restore(14)
228 vmovups 64(%rsp), %ymm0
229
230 /* Go to exit */
231 jmp L(EXIT)
232 /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -80; DW_OP_plus) */
233 .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22
234 /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -88; DW_OP_plus) */
235 .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22
236 /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -96; DW_OP_plus) */
237 .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
238 # LOE rbx r12 r13 r14 r15 ymm0
239
240 /* Scalar math function call
241 * to process special input
242 */
243
244L(SCALAR_MATH_CALL):
245 movl %r12d, %r14d
246 vmovss 32(%rsp, %r14, 4), %xmm0
247 call erfcf@PLT
248 # LOE rbx r14 r15 r12d r13d xmm0
249
250 vmovss %xmm0, 64(%rsp, %r14, 4)
251
252 /* Process special inputs in loop */
253 jmp L(SPECIAL_VALUES_LOOP)
254 # LOE rbx r15 r12d r13d
255END(_ZGVdN8v_erfcf_avx2)
256
257 .section .rodata, "a"
258 .align 32
259
260#ifdef __svml_serfc_data_internal_typedef
261typedef unsigned int VUINT32;
262typedef struct {
263 __declspec(align(32)) VUINT32 _erfc_tbl[645*2][1];
264 __declspec(align(32)) VUINT32 _AbsMask[8][1];
265 __declspec(align(32)) VUINT32 _MaxThreshold[8][1];
266 __declspec(align(32)) VUINT32 _SgnMask[8][1];
267 __declspec(align(32)) VUINT32 _One[8][1];
268 __declspec(align(32)) VUINT32 _SRound[8][1];
269 __declspec(align(32)) VUINT32 _TwoM48[8][1];
270 __declspec(align(32)) VUINT32 _poly1_0[8][1];
271 __declspec(align(32)) VUINT32 _poly1_1[8][1];
272 __declspec(align(32)) VUINT32 _poly3_0[8][1];
273 __declspec(align(32)) VUINT32 _poly3_1[8][1];
274 __declspec(align(32)) VUINT32 _poly1_2[8][1];
275 __declspec(align(32)) VUINT32 _poly1_3[8][1];
276 __declspec(align(32)) VUINT32 _UF_Threshold[8][1];
277} __svml_serfc_data_internal;
278#endif
279__svml_serfc_data_internal:
280 /* _erfc_tbl */
281 .long 0x57800000, 0x57906ebb
282 .long 0x577b7ca2, 0x579065b4
283 .long 0x5776f9d5, 0x57904aa3
284 .long 0x57727828, 0x57901d93
285 .long 0x576df82b, 0x578fde94
286 .long 0x57697a6e, 0x578f8dbd
287 .long 0x5764ff7f, 0x578f2b2e
288 .long 0x576087ea, 0x578eb70a
289 .long 0x575c143d, 0x578e317d
290 .long 0x5757a500, 0x578d9ab9
291 .long 0x57533abf, 0x578cf2f5
292 .long 0x574ed5fe, 0x578c3a6f
293 .long 0x574a7744, 0x578b716c
294 .long 0x57461f12, 0x578a9834
295 .long 0x5741cdeb, 0x5789af18
296 .long 0x573d844a, 0x5788b66c
297 .long 0x573942ac, 0x5787ae8b
298 .long 0x57350989, 0x578697d3
299 .long 0x5730d956, 0x578572a8
300 .long 0x572cb284, 0x57843f72
301 .long 0x57289583, 0x5782fe9f
302 .long 0x572482bd, 0x5781b0a0
303 .long 0x57207a9b, 0x578055e8
304 .long 0x571c7d80, 0x577ddddf
305 .long 0x57188bcb, 0x577af867
306 .long 0x5714a5da, 0x5777fc62
307 .long 0x5710cc05, 0x5774ead4
308 .long 0x570cfe9f, 0x5771c4c4
309 .long 0x57093df9, 0x576e8b3e
310 .long 0x57058a5e, 0x576b3f51
311 .long 0x5701e415, 0x5767e20f
312 .long 0x56fc96c6, 0x5764748e
313 .long 0x56f5810a, 0x5760f7e5
314 .long 0x56ee876d, 0x575d6d2d
315 .long 0x56e7aa5a, 0x5759d57e
316 .long 0x56e0ea35, 0x575631f4
317 .long 0x56da4757, 0x575283a7
318 .long 0x56d3c214, 0x574ecbb1
319 .long 0x56cd5ab3, 0x574b0b28
320 .long 0x56c71175, 0x57474323
321 .long 0x56c0e692, 0x574374b5
322 .long 0x56bada38, 0x573fa0ee
323 .long 0x56b4ec8f, 0x573bc8dc
324 .long 0x56af1db3, 0x5737ed89
325 .long 0x56a96dbc, 0x57340ff9
326 .long 0x56a3dcb7, 0x5730312e
327 .long 0x569e6aaa, 0x572c5223
328 .long 0x56991793, 0x572873cf
329 .long 0x5693e369, 0x57249721
330 .long 0x568ece1a, 0x5720bd06
331 .long 0x5689d78f, 0x571ce661
332 .long 0x5684ffa8, 0x5719140f
333 .long 0x56804640, 0x571546e7
334 .long 0x56775654, 0x57117fb9
335 .long 0x566e5c65, 0x570dbf4c
336 .long 0x56659e43, 0x570a0662
337 .long 0x565d1b6d, 0x570655b1
338 .long 0x5654d35d, 0x5702adeb
339 .long 0x564cc57d, 0x56fe1f73
340 .long 0x5644f12f, 0x56f6f777
341 .long 0x563d55cc, 0x56efe513
342 .long 0x5635f2a1, 0x56e8e968
343 .long 0x562ec6f6, 0x56e20584
344 .long 0x5627d207, 0x56db3a64
345 .long 0x5621130b, 0x56d488f8
346 .long 0x561a8931, 0x56cdf21c
347 .long 0x561433a0, 0x56c7769b
348 .long 0x560e117c, 0x56c11733
349 .long 0x560821e1, 0x56bad48d
350 .long 0x560263e5, 0x56b4af46
351 .long 0x55f9ad39, 0x56aea7ea
352 .long 0x55eef22b, 0x56a8bef3
353 .long 0x55e494b6, 0x56a2f4ce
354 .long 0x55da92eb, 0x569d49d9
355 .long 0x55d0ead3, 0x5697be62
356 .long 0x55c79a75, 0x569252aa
357 .long 0x55be9fd3, 0x568d06e3
358 .long 0x55b5f8ee, 0x5687db31
359 .long 0x55ada3c2, 0x5682cfad
360 .long 0x55a59e4c, 0x567bc8c2
361 .long 0x559de68a, 0x56723298
362 .long 0x55967a77, 0x5668dcc1
363 .long 0x558f5812, 0x565fc70e
364 .long 0x55887d5c, 0x5656f136
365 .long 0x5581e856, 0x564e5adf
366 .long 0x55772e0c, 0x56460399
367 .long 0x556b0eeb, 0x563deae4
368 .long 0x555f6f64, 0x5636102b
369 .long 0x55544b9e, 0x562e72cb
370 .long 0x55499fc8, 0x5627120f
371 .long 0x553f681d, 0x561fed36
372 .long 0x5535a0e6, 0x5619036e
373 .long 0x552c4679, 0x561253dc
374 .long 0x55235539, 0x560bdd96
375 .long 0x551ac999, 0x56059fa9
376 .long 0x5512a01c, 0x55ff3230
377 .long 0x550ad554, 0x55f391b9
378 .long 0x550365e5, 0x55e85bd0
379 .long 0x54f89d02, 0x55dd8e4c
380 .long 0x54eb17df, 0x55d326f3
381 .long 0x54de360f, 0x55c92385
382 .long 0x54d1f166, 0x55bf81b6
383 .long 0x54c643dc, 0x55b63f32
384 .long 0x54bb2790, 0x55ad59a1
385 .long 0x54b096c5, 0x55a4cea4
386 .long 0x54a68be5, 0x559c9bd9
387 .long 0x549d0180, 0x5594bedd
388 .long 0x5493f24c, 0x558d354b
389 .long 0x548b5926, 0x5585fcbf
390 .long 0x54833111, 0x557e25af
391 .long 0x5476ea69, 0x5570ea68
392 .long 0x546841c1, 0x556442f0
393 .long 0x545a5f10, 0x55582a98
394 .long 0x544d398b, 0x554c9cbd
395 .long 0x5440c8ae, 0x554194c7
396 .long 0x54350440, 0x55370e2c
397 .long 0x5429e44f, 0x552d0474
398 .long 0x541f612f, 0x55237336
399 .long 0x5415737d, 0x551a561b
400 .long 0x540c1417, 0x5511a8e1
401 .long 0x54033c22, 0x5509675a
402 .long 0x53f5ca07, 0x55018d6b
403 .long 0x53e610c3, 0x54f42e22
404 .long 0x53d74046, 0x54e600c0
405 .long 0x53c94cd8, 0x54d88b05
406 .long 0x53bc2b3a, 0x54cbc574
407 .long 0x53afd0a5, 0x54bfa8c4
408 .long 0x53a432c3, 0x54b42ddb
409 .long 0x539947af, 0x54a94dcf
410 .long 0x538f05f3, 0x549f01ec
411 .long 0x5385647e, 0x549543ae
412 .long 0x5378b557, 0x548c0cc2
413 .long 0x5367c06a, 0x5483570a
414 .long 0x5357da71, 0x54763931
415 .long 0x5348f45f, 0x5466af65
416 .long 0x533affda, 0x5458059c
417 .long 0x532def39, 0x544a3127
418 .long 0x5321b57a, 0x543d27b5
419 .long 0x5316463d, 0x5430df57
420 .long 0x530b95bd, 0x54254e7b
421 .long 0x530198cc, 0x541a6bee
422 .long 0x52f08999, 0x54102ed6
423 .long 0x52df1f58, 0x54068eb5
424 .long 0x52cedfb9, 0x53fb06c5
425 .long 0x52bfb8a0, 0x53ea0a1d
426 .long 0x52b198e5, 0x53da1876
427 .long 0x52a4704e, 0x53cb237a
428 .long 0x52982f7c, 0x53bd1d6f
429 .long 0x528cc7eb, 0x53aff93b
430 .long 0x52822be3, 0x53a3aa56
431 .long 0x52709cde, 0x539824ce
432 .long 0x525e46a9, 0x538d5d3c
433 .long 0x524d3e18, 0x538348c6
434 .long 0x523d6d6f, 0x5373ba24
435 .long 0x522ec035, 0x53622096
436 .long 0x52212321, 0x5351b22a
437 .long 0x52148413, 0x53425d18
438 .long 0x5208d1fc, 0x53341080
439 .long 0x51fbf9ac, 0x5326bc5e
440 .long 0x51e7eb29, 0x531a5183
441 .long 0x51d55c2d, 0x530ec18c
442 .long 0x51c43238, 0x5303feda
443 .long 0x51b45472, 0x52f3f919
444 .long 0x51a5ab93, 0x52e15ce8
445 .long 0x519821ce, 0x52d0121b
446 .long 0x518ba2bc, 0x52c002f8
447 .long 0x51801b49, 0x52b11afe
448 .long 0x516af33c, 0x52a346d7
449 .long 0x51575a21, 0x5296744c
450 .long 0x51454c24, 0x528a9237
451 .long 0x5134ac3b, 0x527f20e7
452 .long 0x51255f51, 0x526abfa9
453 .long 0x51174c27, 0x5257e42f
454 .long 0x510a5b3b, 0x524673af
455 .long 0x50fced50, 0x52365507
456 .long 0x50e7141d, 0x522770a1
457 .long 0x50d304fc, 0x5219b066
458 .long 0x50c09cb5, 0x520cffa3
459 .long 0x50afba92, 0x52014af8
460 .long 0x50a04037, 0x51ed0088
461 .long 0x50921177, 0x51d91d2d
462 .long 0x50851430, 0x51c6cc35
463 .long 0x50726058, 0x51b5f011
464 .long 0x505c9dfa, 0x51a66d2a
465 .long 0x5048b7be, 0x519829c8
466 .long 0x50368738, 0x518b0df2
467 .long 0x5025e8e0, 0x517e06ab
468 .long 0x5016bbdf, 0x5167ea53
469 .long 0x5008e1df, 0x5153a034
470 .long 0x4ff87dc3, 0x5141045e
471 .long 0x4fe1721f, 0x512ff56d
472 .long 0x4fcc712a, 0x51205461
473 .long 0x4fb94efb, 0x51120475
474 .long 0x4fa7e31e, 0x5104eafc
475 .long 0x4f980855, 0x50f1de7a
476 .long 0x4f899c5c, 0x50dbf4a3
477 .long 0x4f78ff60, 0x50c7ee0e
478 .long 0x4f612ab5, 0x50b5a381
479 .long 0x4f4b8583, 0x50a4f0bc
480 .long 0x4f37deef, 0x5095b43b
481 .long 0x4f260a27, 0x5087cf0e
482 .long 0x4f15de0f, 0x5076494d
483 .long 0x4f0734f9, 0x505f355e
484 .long 0x4ef3d8c4, 0x504a31bf
485 .long 0x4edbc95e, 0x503711b4
486 .long 0x4ec601e9, 0x5025ac0e
487 .long 0x4eb24d81, 0x5015dae6
488 .long 0x4ea07bca, 0x50077b62
489 .long 0x4e906098, 0x4ff4daf4
490 .long 0x4e81d395, 0x4fdd2782
491 .long 0x4e695fe3, 0x4fc7a666
492 .long 0x4e51a834, 0x4fb42611
493 .long 0x4e3c42e7, 0x4fa2790f
494 .long 0x4e28f835, 0x4f9275b9
495 .long 0x4e179555, 0x4f83f5e9
496 .long 0x4e07ec0b, 0x4f6dad68
497 .long 0x4df3a498, 0x4f55f04f
498 .long 0x4dda43ba, 0x4f407a1d
499 .long 0x4dc37003, 0x4f2d1570
500 .long 0x4daeea58, 0x4f1b9188
501 .long 0x4d9c7974, 0x4f0bc1e7
502 .long 0x4d8be963, 0x4efafbec
503 .long 0x4d7a160c, 0x4ee14167
504 .long 0x4d5f6759, 0x4eca10ce
505 .long 0x4d477955, 0x4eb52cb9
506 .long 0x4d3205fb, 0x4ea25d43
507 .long 0x4d1ecdf3, 0x4e916f95
508 .long 0x4d0d97f2, 0x4e823575
509 .long 0x4cfc6061, 0x4e6909cc
510 .long 0x4ce0cfd4, 0x4e506f88
511 .long 0x4cc829c6, 0x4e3a56e4
512 .long 0x4cb221ff, 0x4e268119
513 .long 0x4c9e73c2, 0x4e14b538
514 .long 0x4c8ce119, 0x4e04bfb1
515 .long 0x4c7a6462, 0x4dece39b
516 .long 0x4c5e6987, 0x4dd34296
517 .long 0x4c457726, 0x4dbc4fdc
518 .long 0x4c2f3bdb, 0x4da7c64b
519 .long 0x4c1b6e79, 0x4d956771
520 .long 0x4c09cd3e, 0x4d84fae8
521 .long 0x4bf43a38, 0x4d6c9b8f
522 .long 0x4bd85225, 0x4d52644f
523 .long 0x4bbf8325, 0x4d3afd47
524 .long 0x4ba977f0, 0x4d261be0
525 .long 0x4b95e415, 0x4d137cf0
526 .long 0x4b848320, 0x4d02e402
527 .long 0x4b6a2f8b, 0x4ce8356b
528 .long 0x4b4ed659, 0x4ccde050
529 .long 0x4b369893, 0x4cb670d5
530 .long 0x4b211e8a, 0x4ca19816
531 .long 0x4b0e19e7, 0x4c8f0f43
532 .long 0x4afa896f, 0x4c7d2da8
533 .long 0x4adcc11e, 0x4c5febab
534 .long 0x4ac26b7f, 0x4c45f27c
535 .long 0x4aab2549, 0x4c2ee6b3
536 .long 0x4a969605, 0x4c1a767c
537 .long 0x4a846ee9, 0x4c0858a4
538 .long 0x4a68d3a8, 0x4bf09770
539 .long 0x4a4c90c6, 0x4bd42a75
540 .long 0x4a33a635, 0x4bbb01dd
541 .long 0x4a1db15b, 0x4ba4c066
542 .long 0x4a0a5aa0, 0x4b9112d9
543 .long 0x49f2a881, 0x4b7f5e08
544 .long 0x49d4b277, 0x4b60a591
545 .long 0x49ba58bd, 0x4b45867e
546 .long 0x49a32ed5, 0x4b2d97f3
547 .long 0x498ed4a2, 0x4b187c9e
548 .long 0x4979ea08, 0x4b05e186
549 .long 0x495a8951, 0x4aeaf9d4
550 .long 0x493f01d9, 0x4ace1a8c
551 .long 0x4926ddcc, 0x4ab4b0dc
552 .long 0x4911b50d, 0x4a9e558a
553 .long 0x48fe574a, 0x4a8aad05
554 .long 0x48dde0d0, 0x4a72cc48
555 .long 0x48c1776e, 0x4a547203
556 .long 0x48a89cd3, 0x4a39cbe3
557 .long 0x4892e1aa, 0x4a226937
558 .long 0x487fc7c2, 0x4a0de652
559 .long 0x485e9a3a, 0x49f7d629
560 .long 0x4841a2c3, 0x49d85345
561 .long 0x48285bae, 0x49bcba74
562 .long 0x48124f79, 0x49a49254
563 .long 0x47fe2dc4, 0x498f6fd2
564 .long 0x47dcae77, 0x4979e90c
565 .long 0x47bf81dd, 0x49599a7d
566 .long 0x47a61c4e, 0x493d616c
567 .long 0x47900357, 0x4924bcd6
568 .long 0x47799750, 0x490f3b3e
569 .long 0x47582e7f, 0x48f8f1a9
570 .long 0x473b27a3, 0x48d83bc6
571 .long 0x4721f2b6, 0x48bbbab7
572 .long 0x470c11c0, 0x48a2e733
573 .long 0x46f22d4c, 0x488d4a80
574 .long 0x46d14266, 0x4874f900
575 .long 0x46b4bacb, 0x485443df
576 .long 0x469c03d6, 0x4837d5b2
577 .long 0x46869d9b, 0x481f2272
578 .long 0x46683120, 0x4809af94
579 .long 0x46482706, 0x47ee23cf
580 .long 0x462c7395, 0x47cdd76a
581 .long 0x46148366, 0x47b1d636
582 .long 0x45ffac6d, 0x4799912d
583 .long 0x45dbf8fa, 0x47848b78
584 .long 0x45bd2a88, 0x4764b060
585 .long 0x45a298a1, 0x474530ba
586 .long 0x458bb0fc, 0x4729f27c
587 .long 0x456fe94b, 0x47126579
588 .long 0x454deaf8, 0x46fc1860
589 .long 0x4530a808, 0x46d8f2d6
590 .long 0x45177b00, 0x46ba9c63
591 .long 0x4501d48c, 0x46a06fec
592 .long 0x44de7135, 0x4689de04
593 .long 0x44be77a1, 0x466cd440
594 .long 0x44a302b0, 0x464b505a
595 .long 0x448b71e5, 0x462e74d6
596 .long 0x446e7534, 0x46159f2a
597 .long 0x444bca2d, 0x46004280
598 .long 0x442e1414, 0x45dbc9bf
599 .long 0x4414a0a8, 0x45bc396d
600 .long 0x43fdac7d, 0x45a11d60
601 .long 0x43d860d4, 0x4589d7a8
602 .long 0x43b87a3a, 0x456bbf86
603 .long 0x439d3454, 0x45497f9a
604 .long 0x4385e630, 0x452c23f7
605 .long 0x4363fd06, 0x4512fcf7
606 .long 0x434200db, 0x44fae63c
607 .long 0x4325014d, 0x44d607b0
608 .long 0x430c4623, 0x44b67d4e
609 .long 0x42ee627d, 0x449b855c
610 .long 0x42ca7603, 0x44847920
611 .long 0x42abde4b, 0x44619261
612 .long 0x4291d40d, 0x443ff482
613 .long 0x4277593c, 0x442344bf
614 .long 0x4251abca, 0x440acd1c
615 .long 0x4231a5c0, 0x43ebe2ca
616 .long 0x42167152, 0x43c85727
617 .long 0x41feaf84, 0x43aa1178
618 .long 0x41d779e7, 0x43904cc0
619 .long 0x41b63731, 0x4374c081
620 .long 0x419a03db, 0x434f7703
621 .long 0x41821dd0, 0x432fc5c4
622 .long 0x415bbf2e, 0x4314d94a
623 .long 0x41397862, 0x42fbf99c
624 .long 0x411c770c, 0x42d52bb9
625 .long 0x4103eeb4, 0x42b4411f
626 .long 0x40de62c7, 0x429858a7
627 .long 0x40bb5652, 0x4280b23e
628 .long 0x409dbc89, 0x4259543f
629 .long 0x4084bfc1, 0x42376979
630 .long 0x405f551f, 0x421ab66b
631 .long 0x403bc5f1, 0x420270af
632 .long 0x401dccc2, 0x41dbd820
633 .long 0x40048c16, 0x41b92c31
634 .long 0x3fde907e, 0x419be496
635 .long 0x3fbac490, 0x41832dcb
636 .long 0x3f9ca73d, 0x415ca86a
637 .long 0x3f8354cb, 0x41397eca
638 .long 0x3f5c1947, 0x411bdc1e
639 .long 0x3f3857fa, 0x4102e528
640 .long 0x3f1a529e, 0x40dbc03f
641 .long 0x3f0120ef, 0x40b85f58
642 .long 0x3ed7fdc8, 0x409a9d36
643 .long 0x3eb48e3e, 0x40819878
644 .long 0x3e96dc65, 0x4059250b
645 .long 0x3e7bfa7c, 0x4035d48d
646 .long 0x3e5255b2, 0x40182f4c
647 .long 0x3e2f7d27, 0x3ffe9ef1
648 .long 0x3e12586c, 0x3fd4e64a
649 .long 0x3df3f750, 0x3fb1ed7c
650 .long 0x3dcb4137, 0x3f94a0bb
651 .long 0x3da94169, 0x3f782f41
652 .long 0x3d8ce028, 0x3f4f1cee
653 .long 0x3d6a654e, 0x3f2cc100
654 .long 0x3d42e7d6, 0x3f100645
655 .long 0x3d21fd99, 0x3ef00749
656 .long 0x3d0691c1, 0x3ec7ea70
657 .long 0x3cdf78d9, 0x3ea66ce0
658 .long 0x3cb976f2, 0x3e8a7a45
659 .long 0x3c99d8e5, 0x3e665575
660 .long 0x3c7f1de8, 0x3e3f778a
661 .long 0x3c536be9, 0x3e1f14b2
662 .long 0x3c2f2031, 0x3e041bb4
663 .long 0x3c10fdbd, 0x3ddb4f88
664 .long 0x3beff7df, 0x3db5f2ba
665 .long 0x3bc67c0b, 0x3d96e08d
666 .long 0x3ba417d4, 0x3d7a1a1e
667 .long 0x3b879862, 0x3d4f30a7
668 .long 0x3b5ffc37, 0x3d2b8e9a
669 .long 0x3b38e85b, 0x3d0dfba1
670 .long 0x3b1892fb, 0x3ceae636
671 .long 0x3afbaaf5, 0x3cc2374f
672 .long 0x3acf75d5, 0x3ca08024
673 .long 0x3aaaef8c, 0x3c8492c0
674 .long 0x3a8cc60c, 0x3c5ae75b
675 .long 0x3a67c170, 0x3c34a340
676 .long 0x3a3ead7b, 0x3c14fcf4
677 .long 0x3a1cce14, 0x3bf5a5cf
678 .long 0x3a00e32d, 0x3bca68ef
679 .long 0x39d3c741, 0x3ba6b383
680 .long 0x39ade7c9, 0x3b8939a3
681 .long 0x398ebc8e, 0x3b61cfd0
682 .long 0x396a31ee, 0x3b39b3ce
683 .long 0x394008fe, 0x3b18a48b
684 .long 0x391d638e, 0x3afad08d
685 .long 0x3900ee61, 0x3acdf654
686 .long 0x38d322ce, 0x3aa90c4d
687 .long 0x38accb15, 0x3a8aaea4
688 .long 0x388d5872, 0x3a636e45
689 .long 0x3867216f, 0x3a3a6544
690 .long 0x383ce218, 0x3a18b095
691 .long 0x381a4894, 0x39fa092d
692 .long 0x37fbec07, 0x39cc9f41
693 .long 0x37cd9386, 0x39a76003
694 .long 0x37a7acfd, 0x3988d758
695 .long 0x3788b256, 0x395fa559
696 .long 0x375ec64b, 0x3936ab0f
697 .long 0x373570b9, 0x39152037
698 .long 0x3713b43a, 0x38f35dd3
699 .long 0x36f05d69, 0x38c67c0a
700 .long 0x36c37bc4, 0x38a1ccfc
701 .long 0x369ee7d7, 0x3883d518
702 .long 0x36811c14, 0x3856b981
703 .long 0x3651b337, 0x382ec87a
704 .long 0x362a371c, 0x380e33a7
705 .long 0x360a1932, 0x37e74660
706 .long 0x35dff98b, 0x37bbfab1
707 .long 0x35b589f6, 0x3798b6d4
708 .long 0x3593127a, 0x37780230
709 .long 0x356e2ef2, 0x37494905
710 .long 0x3540c69d, 0x372348d9
711 .long 0x351bf310, 0x370464b5
712 .long 0x34fc31bf, 0x36d69685
713 .long 0x34cbd1ee, 0x36add231
714 .long 0x34a4a520, 0x368cbaf0
715 .long 0x3484ef72, 0x3663c449
716 .long 0x34568fd0, 0x363839e2
717 .long 0x342d122f, 0x3614efa4
718 .long 0x340b893c, 0x35f0b1df
719 .long 0x33e0e3a6, 0x35c265d8
720 .long 0x33b5237a, 0x359cede7
721 .long 0x3391d42c, 0x357d3dc9
722 .long 0x336ab0cb, 0x354c3b50
723 .long 0x333cc25b, 0x3524a05e
724 .long 0x3317be62, 0x3504a304
725 .long 0x32f3db16, 0x34d59f46
726 .long 0x32c3d8af, 0x34abf19f
727 .long 0x329d3680, 0x348a545b
728 .long 0x327c475d, 0x345e76f3
729 .long 0x324a5141, 0x3432cc8c
730 .long 0x32222c05, 0x340fa24c
731 .long 0x3201edfc, 0x33e6a843
732 .long 0x31d01833, 0x33b91cba
733 .long 0x31a68f97, 0x33947ce5
734 .long 0x318540a5, 0x336e1a5b
735 .long 0x31551b65, 0x333eced8
736 .long 0x312a535b, 0x3318d52b
737 .long 0x31081119, 0x32f4b613
738 .long 0x30d94acf, 0x32c3d10c
739 .long 0x30ad6b36, 0x329c9d69
740 .long 0x308a563f, 0x327a666d
741 .long 0x305c98dc, 0x32481354
742 .long 0x302fcd12, 0x321fc975
743 .long 0x300c08aa, 0x31ff1904
744 .long 0x2fdefaaf, 0x31cb87d8
745 .long 0x2fb17113, 0x31a24ef3
746 .long 0x2f8d22bb, 0x31815f38
747 .long 0x2f60685f, 0x314e2339
748 .long 0x2f3251c3, 0x3124258f
749 .long 0x2f0da0c6, 0x3102a54d
750 .long 0x2ee0dd25, 0x30cfdcca
751 .long 0x2eb26c30, 0x30a54727
752 .long 0x2e8d8121, 0x30835a7f
753 .long 0x2e605773, 0x3050aec3
754 .long 0x2e31bffd, 0x3025afef
755 .long 0x2e0cc431, 0x30037c6d
756 .long 0x2dded902, 0x2fd09664
757 .long 0x2db04f61, 0x2fa55e85
758 .long 0x2d8b6c69, 0x2f830aa5
759 .long 0x2d5c66c4, 0x2f4f93fd
760 .long 0x2d2e1f21, 0x2f2453fe
761 .long 0x2d097e36, 0x2f0206a5
762 .long 0x2cd908c8, 0x2ecdaaf4
763 .long 0x2cab3670, 0x2ea293d6
764 .long 0x2c86fff0, 0x2e8073d6
765 .long 0x2c54ca13, 0x2e4ae1ac
766 .long 0x2c279ec9, 0x2e2023e7
767 .long 0x2c03f9af, 0x2dfcaee7
768 .long 0x2bcfb860, 0x2dc74167
769 .long 0x2ba363bd, 0x2d9d0c41
770 .long 0x2b807524, 0x2d7770ea
771 .long 0x2b49e3d6, 0x2d42d60c
772 .long 0x2b1e92b5, 0x2d195702
773 .long 0x2af8fac8, 0x2cf13ec4
774 .long 0x2ac35eb5, 0x2cbdaded
775 .long 0x2a993aaa, 0x2c95101b
776 .long 0x2a703d5a, 0x2c6a2c50
777 .long 0x2a3c3cf6, 0x2c37d975
778 .long 0x2a136bd8, 0x2c104516
779 .long 0x29e6cc51, 0x2be24fc5
780 .long 0x29b493e1, 0x2bb16ad5
781 .long 0x298d376b, 0x2b8b04c7
782 .long 0x295cc356, 0x2b59c147
783 .long 0x292c79ad, 0x2b2a759f
784 .long 0x2906af30, 0x2b055f07
785 .long 0x28d23edb, 0x2ad09a6a
786 .long 0x28a4050c, 0x2aa30e6d
787 .long 0x287fca72, 0x2a7ec8c1
788 .long 0x28475b9c, 0x2a46f5b1
789 .long 0x281b4cca, 0x2a1b4a74
790 .long 0x27f1d725, 0x29f24b83
791 .long 0x27bc361f, 0x29bcee14
792 .long 0x27926764, 0x29933f23
793 .long 0x2763a7e2, 0x29656858
794 .long 0x2730ea36, 0x29329e84
795 .long 0x27096aae, 0x290b01c6
796 .long 0x26d55ed6, 0x28d840d5
797 .long 0x26a59297, 0x28a82171
798 .long 0x26806b7c, 0x2882a722
799 .long 0x26471c70, 0x284af596
800 .long 0x261a4874, 0x281d9063
801 .long 0x25eefab5, 0x27f4865b
802 .long 0x25b8fef0, 0x27bda5bb
803 .long 0x258f232d, 0x27930395
804 .long 0x255d6497, 0x2763d176
805 .long 0x252b220e, 0x27306e78
806 .long 0x25043806, 0x270891a3
807 .long 0x24cc3533, 0x26d35285
808 .long 0x249d9eab, 0x26a36ab9
809 .long 0x247333ed, 0x267c9e87
810 .long 0x243b895c, 0x2643294f
811 .long 0x24108aa2, 0x2616b2d7
812 .long 0x23deb305, 0x25e89e19
813 .long 0x23ab79f7, 0x25b3722d
814 .long 0x2383f8a5, 0x258a5c5b
815 .long 0x234b094e, 0x255542a6
816 .long 0x231c1be0, 0x252445ca
817 .long 0x22eff061, 0x24fcf3b9
818 .long 0x22b84dad, 0x24c2a818
819 .long 0x228d7fe9, 0x2495b90c
820 .long 0x22592b20, 0x246635db
821 .long 0x222691fd, 0x2430e58d
822 .long 0x21ff65e8, 0x2407dd07
823 .long 0x21c3b3ec, 0x23d09839
824 .long 0x2195e33f, 0x23a00d5e
825 .long 0x21657c23, 0x23757e16
826 .long 0x212f973d, 0x233c2e00
827 .long 0x210649d6, 0x23102d3f
828 .long 0x20cd4d83, 0x22dcd18d
829 .long 0x209cdbfe, 0x22a904b4
830 .long 0x206f93bd, 0x22814e73
831 .long 0x2036de68, 0x2245c0eb
832 .long 0x200b8405, 0x22172479
833 .long 0x1fd4c713, 0x21e6ec36
834 .long 0x1fa22d35, 0x21b0523d
835 .long 0x1f771927, 0x21869086
836 .long 0x1f3c2718, 0x214d4b0f
837 .long 0x1f0f32ff, 0x211c85ba
838 .long 0x1ed9ddc3, 0x20ee8f29
839 .long 0x1ea5a71b, 0x20b5b53d
840 .long 0x1e7bc87b, 0x208a5661
841 .long 0x1e3f4167, 0x205288d5
842 .long 0x1e11353d, 0x2020208a
843 .long 0x1ddc631a, 0x1ff3754b
844 .long 0x1da729d6, 0x1fb8fcbd
845 .long 0x1d7d76ae, 0x1f8c7d97
846 .long 0x1d4010bf, 0x1f554a3f
847 .long 0x1d117833, 0x1f21d3cb
848 .long 0x1cdc3fc3, 0x1ef57178
849 .long 0x1ca6a764, 0x1eba0a73
850 .long 0x1c7c141f, 0x1e8cf23a
851 .long 0x1c3e8d91, 0x1e5575bf
852 .long 0x1c0ff968, 0x1e218fb3
853 .long 0x1bd974f4, 0x1df47139
854 .long 0x1ba4246f, 0x1db8d48f
855 .long 0x1b77ad8b, 0x1d8bb00a
856 .long 0x1b3ac5c9, 0x1d5309be
857 .long 0x1b0cc6a1, 0x1d1f56ba
858 .long 0x1ad41c58, 0x1cf07de1
859 .long 0x1a9fb806, 0x1cb56657
860 .long 0x1a706b47, 0x1c88c2bc
861 .long 0x1a34dbfa, 0x1c4e1cba
862 .long 0x1a07fd09, 0x1c1b3d7d
863 .long 0x19cc668e, 0x1be9bbfd
864 .long 0x19998a40, 0x1bafdf73
865 .long 0x19668edd, 0x1b844540
866 .long 0x192d054e, 0x1b46dbe6
867 .long 0x1901c77a, 0x1b156976
868 .long 0x18c29845, 0x1ae0691f
869 .long 0x1891d1e0, 0x1aa8720d
870 .long 0x185a6f34, 0x1a7cc054
871 .long 0x18238672, 0x1a3d887f
872 .long 0x17f4b806, 0x1a0e0ecc
873 .long 0x17b70648, 0x19d4d840
874 .long 0x1788d12d, 0x199f5fda
875 .long 0x174c739d, 0x196e8e9b
876 .long 0x1718afac, 0x193273f8
877 .long 0x16e3f1ae, 0x19056d4a
878 .long 0x16aa10bb, 0x18c76cf4
879 .long 0x167da48f, 0x1894f659
880 .long 0x163d0e1a, 0x185e6d9a
881 .long 0x160cd879, 0x1825fb65
882 .long 0x15d1c1e5, 0x17f7998c
883 .long 0x159c1df9, 0x17b895e1
884 .long 0x1568466d, 0x17898a88
885 .long 0x152cb568, 0x174cdf9b
886 .long 0x15005b01, 0x1718826b
887 .long 0x14beb151, 0x16e2f29a
888 .long 0x148d955e, 0x16a8c6d9
889 .long 0x14522407, 0x167ae8e3
890 .long 0x141bdf21, 0x163a6a2d
891 .long 0x13e71f72, 0x160a6e25
892 .long 0x13ab44c3, 0x15cd7e87
893 .long 0x137db4e3, 0x15987319
894 .long 0x133bd23f, 0x156215a4
895 .long 0x130afa70, 0x15278fa9
896 .long 0x12cd92ee, 0x14f840ab
897 .long 0x1297f777, 0x14b7cfb1
898 .long 0x1260915e, 0x148807fd
899 .long 0x1225d8aa, 0x14493e73
900 .long 0x11f4d72b, 0x1414c97a
901 .long 0x11b4a474, 0x13dbe665
902 .long 0x11853669, 0x13a26be2
903 .long 0x11446065, 0x136fd110
904 .long 0x1110acc4, 0x1330f593
905 .long 0x10d51115, 0x13028371
906 .long 0x109cd187, 0x12c06c14
907 .long 0x1066ba07, 0x128dc782
908 .long 0x1029a6c1, 0x1250d3f6
909 .long 0x0ff95d83, 0x1219b798
910 .long 0x0fb72d9a, 0x11e230b9
911 .long 0x0f867e41, 0x11a655c1
912 .long 0x0f456641, 0x117484a6
913 .long 0x0f10cb43, 0x1133a328
914 .long 0x0ed44fd3, 0x1103e85c
915 .long 0x0e9b94c1, 0x10c19ffd
916 .long 0x0e63e84a, 0x108e0a3d
917 .long 0x0e26d8e4, 0x10504b66
918 .long 0x0df42c6c, 0x1018a6f6
919 .long 0x0db294f0, 0x0fdfa367
920 .long 0x0d828bdd, 0x0fa3bcb5
921 .long 0x0d3ec540, 0x0f6fa4d1
922 .long 0x0d0b5230, 0x0f2f48cc
923 .long 0x0ccb653b, 0x0f00259a
924 .long 0x0c946596, 0x0ebb479f
925 .long 0x00000000, 0x00000000
926 .align 32
927 .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */
928 .align 32
929 .long 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */
930 .align 32
931 .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */
932 .align 32
933 .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */
934 .align 32
935 .long 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */
936 .align 32
937 .long 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */
938 // polynomial coefficients
939 .align 32
940 .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0]
941 .align 32
942 .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1]
943 .align 32
944 .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0]
945 .align 32
946 .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1]
947 .align 32
948 .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2]
949 .align 32
950 .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3]
951 .align 32
952 .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */
953 .align 32
954 .type __svml_serfc_data_internal, @object
955 .size __svml_serfc_data_internal, .-__svml_serfc_data_internal
956

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