1/* Function atanh 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 * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x))
23 *
24 * Special cases:
25 *
26 * atanh(0) = 0
27 * atanh(+1) = +INF
28 * atanh(-1) = -INF
29 * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF
30 *
31 */
32
33/* Offsets for data table __svml_datanh_data_internal
34 */
35#define Log_HA_table 0
36#define Log_LA_table 8224
37#define poly_coeff 12352
38#define ExpMask 12480
39#define Two10 12512
40#define MinLog1p 12544
41#define MaxLog1p 12576
42#define One 12608
43#define SgnMask 12640
44#define XThreshold 12672
45#define XhMask 12704
46#define Threshold 12736
47#define Bias 12768
48#define Bias1 12800
49#define ExpMask0 12832
50#define ExpMask2 12864
51#define L2 12896
52#define dHalf 12928
53#define dSign 12960
54#define dTopMask12 12992
55#define dTopMask41 13024
56#define TinyRange 13056
57
58/* Lookup bias for data table __svml_datanh_data_internal. */
59#define Table_Lookup_Bias -0x405fe0
60
61#include <sysdep.h>
62
63 .section .text.avx2, "ax", @progbits
64ENTRY(_ZGVdN4v_atanh_avx2)
65 pushq %rbp
66 cfi_def_cfa_offset(16)
67 movq %rsp, %rbp
68 cfi_def_cfa(6, 16)
69 cfi_offset(6, -16)
70 andq $-32, %rsp
71 subq $96, %rsp
72 lea Table_Lookup_Bias+__svml_datanh_data_internal(%rip), %r8
73 vmovupd SgnMask+__svml_datanh_data_internal(%rip), %ymm7
74
75 /* Load the constant 1 and a sign mask */
76 vmovupd One+__svml_datanh_data_internal(%rip), %ymm11
77 vmovapd %ymm0, %ymm12
78
79 /* Strip off the sign, so treat X as positive until right at the end */
80 vandpd %ymm7, %ymm12, %ymm0
81 vsubpd %ymm0, %ymm11, %ymm6
82
83 /*
84 * Check whether |X| < 1, in which case we use the main function.
85 * Otherwise set the rangemask so that the callout will get used.
86 * Note that this will also use the callout for NaNs since not(NaN < 1).
87 */
88 vcmpnlt_uqpd %ymm11, %ymm0, %ymm13
89 vcmplt_oqpd TinyRange+__svml_datanh_data_internal(%rip), %ymm0, %ymm10
90 vsubpd %ymm6, %ymm11, %ymm15
91
92 /*
93 * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces,
94 * the upper part UHi being <= 41 bits long. Then we have
95 * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)).
96 */
97 vaddpd %ymm0, %ymm0, %ymm3
98 vcvtpd2ps %ymm6, %xmm5
99 vsubpd %ymm0, %ymm15, %ymm1
100 vrcpps %xmm5, %xmm4
101 vmovapd %ymm12, %ymm14
102 vfmadd213pd %ymm12, %ymm12, %ymm14
103 vcvtps2pd %xmm4, %ymm2
104
105 /* Record the sign for eventual reincorporation. */
106 vandpd dSign+__svml_datanh_data_internal(%rip), %ymm12, %ymm9
107
108 /* Or the sign bit in with the tiny result to handle atanh(-0) correctly */
109 vorpd %ymm9, %ymm14, %ymm8
110 vandpd dTopMask12+__svml_datanh_data_internal(%rip), %ymm2, %ymm14
111
112 /* No need to split dU when FMA is available */
113 vfnmadd213pd %ymm11, %ymm14, %ymm6
114 vfnmadd231pd %ymm14, %ymm1, %ymm6
115
116 /*
117 * Compute D = E + E^2 + E^3 + E^4 + E^5
118 * = E + (E + E^2) (E + E * E^2)
119 * Only saves when FMA is available
120 */
121 vmovapd %ymm11, %ymm0
122 vmovapd %ymm6, %ymm5
123 vfmadd231pd %ymm6, %ymm6, %ymm0
124 vfmadd213pd %ymm6, %ymm6, %ymm5
125 vfmadd213pd %ymm11, %ymm0, %ymm5
126 vmovmskpd %ymm13, %eax
127
128 /*
129 * Split V as well into upper 41 bits and lower part, so that we can get
130 * a preliminary quotient estimate without rounding error.
131 */
132 vandpd dTopMask41+__svml_datanh_data_internal(%rip), %ymm3, %ymm13
133 vsubpd %ymm13, %ymm3, %ymm15
134
135 /* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */
136 vmulpd %ymm13, %ymm14, %ymm2
137 vmulpd %ymm5, %ymm6, %ymm0
138 vmulpd %ymm15, %ymm14, %ymm4
139
140 /* 2^ (-10-exp(X) ) */
141 vmovupd ExpMask2+__svml_datanh_data_internal(%rip), %ymm15
142
143 /*
144 * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5)
145 * = R * (VHi + VLo) * (1 + D)
146 * = QHi + (QHi * D + QLo + QLo * D)
147 */
148 vmulpd %ymm0, %ymm2, %ymm6
149 vfmadd213pd %ymm4, %ymm4, %ymm0
150 vaddpd %ymm0, %ymm6, %ymm5
151
152 /*
153 * Now finally accumulate the high and low parts of the
154 * argument to log1p, H + L, with a final compensated summation.
155 */
156 vaddpd %ymm5, %ymm2, %ymm4
157
158 /*
159 * Now we feed into the log1p code, using H in place of _VARG1 and
160 * later incorporating L into the reduced argument.
161 * compute 1+x as high, low parts
162 */
163 vmaxpd %ymm4, %ymm11, %ymm1
164 vminpd %ymm4, %ymm11, %ymm3
165 vandpd %ymm7, %ymm4, %ymm7
166 vcmplt_oqpd XThreshold+__svml_datanh_data_internal(%rip), %ymm7, %ymm0
167 vaddpd %ymm3, %ymm1, %ymm5
168 vorpd XhMask+__svml_datanh_data_internal(%rip), %ymm0, %ymm4
169 vandpd %ymm4, %ymm5, %ymm5
170
171 /* preserve mantissa, set input exponent to 2^(-10) */
172 vandpd ExpMask+__svml_datanh_data_internal(%rip), %ymm5, %ymm6
173 vorpd Two10+__svml_datanh_data_internal(%rip), %ymm6, %ymm7
174
175 /* reciprocal approximation good to at least 11 bits */
176 vcvtpd2ps %ymm7, %xmm13
177 vsubpd %ymm5, %ymm1, %ymm2
178 vrcpps %xmm13, %xmm14
179 vaddpd %ymm2, %ymm3, %ymm4
180 vcvtps2pd %xmm14, %ymm3
181
182 /* exponent bits */
183 vpsrlq $20, %ymm5, %ymm2
184
185 /* round reciprocal to nearest integer, will have 1+9 mantissa bits */
186 vroundpd $0, %ymm3, %ymm3
187
188 /*
189 * prepare table index
190 * table lookup
191 */
192 vpsrlq $40, %ymm3, %ymm13
193
194 /* exponent of X needed to scale Xl */
195 vandps ExpMask0+__svml_datanh_data_internal(%rip), %ymm5, %ymm0
196 vpsubq %ymm0, %ymm15, %ymm6
197
198 /* Finally, halve the result and reincorporate the sign */
199 vxorpd dHalf+__svml_datanh_data_internal(%rip), %ymm9, %ymm9
200 vmovd %xmm13, %edx
201 vextractf128 $1, %ymm13, %xmm0
202 movslq %edx, %rdx
203 vpextrd $2, %xmm13, %ecx
204 movslq %ecx, %rcx
205 vmovd %xmm0, %esi
206 vmovsd (%r8, %rdx), %xmm14
207 vmovhpd (%r8, %rcx), %xmm14, %xmm15
208
209 /* exponent*log(2.0) */
210 vmovupd Threshold+__svml_datanh_data_internal(%rip), %ymm14
211 movslq %esi, %rsi
212 vpextrd $2, %xmm0, %edi
213 movslq %edi, %rdi
214 vextractf128 $1, %ymm2, %xmm1
215 vshufps $221, %xmm1, %xmm2, %xmm7
216
217 /* scale DblRcp */
218 vmulpd %ymm6, %ymm3, %ymm2
219 vmovsd (%r8, %rsi), %xmm6
220
221 /* biased exponent in DP format */
222 vcvtdq2pd %xmm7, %ymm1
223 vmovhpd (%r8, %rdi), %xmm6, %xmm7
224 vcmplt_oqpd %ymm3, %ymm14, %ymm3
225
226 /* argument reduction */
227 vfmsub213pd %ymm11, %ymm2, %ymm5
228 vmulpd %ymm2, %ymm4, %ymm11
229 vmovupd poly_coeff+64+__svml_datanh_data_internal(%rip), %ymm2
230 vaddpd %ymm11, %ymm5, %ymm5
231 vandpd Bias+__svml_datanh_data_internal(%rip), %ymm3, %ymm3
232 vorpd Bias1+__svml_datanh_data_internal(%rip), %ymm3, %ymm6
233 vsubpd %ymm6, %ymm1, %ymm1
234 vfmadd213pd poly_coeff+96+__svml_datanh_data_internal(%rip), %ymm5, %ymm2
235 vmulpd %ymm5, %ymm5, %ymm4
236 vmulpd L2+__svml_datanh_data_internal(%rip), %ymm1, %ymm3
237
238 /* polynomial */
239 vmovupd poly_coeff+__svml_datanh_data_internal(%rip), %ymm1
240 vfmadd213pd poly_coeff+32+__svml_datanh_data_internal(%rip), %ymm5, %ymm1
241 vfmadd213pd %ymm2, %ymm4, %ymm1
242
243 /* reconstruction */
244 vfmadd213pd %ymm5, %ymm4, %ymm1
245 vinsertf128 $1, %xmm7, %ymm15, %ymm0
246 vaddpd %ymm1, %ymm0, %ymm0
247 vaddpd %ymm0, %ymm3, %ymm6
248 vmulpd %ymm6, %ymm9, %ymm0
249 vblendvpd %ymm10, %ymm8, %ymm0, %ymm0
250 testl %eax, %eax
251
252 /* Go to special inputs processing branch */
253 jne L(SPECIAL_VALUES_BRANCH)
254 # LOE rbx r12 r13 r14 r15 eax ymm0 ymm12
255
256 /* Restore registers
257 * and exit the function
258 */
259
260L(EXIT):
261 movq %rbp, %rsp
262 popq %rbp
263 cfi_def_cfa(7, 8)
264 cfi_restore(6)
265 ret
266 cfi_def_cfa(6, 16)
267 cfi_offset(6, -16)
268
269 /* Branch to process
270 * special inputs
271 */
272
273L(SPECIAL_VALUES_BRANCH):
274 vmovupd %ymm12, 32(%rsp)
275 vmovupd %ymm0, 64(%rsp)
276 # LOE rbx r12 r13 r14 r15 eax ymm0
277
278 xorl %edx, %edx
279 # LOE rbx r12 r13 r14 r15 eax edx
280
281 vzeroupper
282 movq %r12, 16(%rsp)
283 /* 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) */
284 .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22
285 movl %edx, %r12d
286 movq %r13, 8(%rsp)
287 /* 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) */
288 .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22
289 movl %eax, %r13d
290 movq %r14, (%rsp)
291 /* 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) */
292 .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
293 # LOE rbx r15 r12d r13d
294
295 /* Range mask
296 * bits check
297 */
298
299L(RANGEMASK_CHECK):
300 btl %r12d, %r13d
301
302 /* Call scalar math function */
303 jc L(SCALAR_MATH_CALL)
304 # LOE rbx r15 r12d r13d
305
306 /* Special inputs
307 * processing loop
308 */
309
310L(SPECIAL_VALUES_LOOP):
311 incl %r12d
312 cmpl $4, %r12d
313
314 /* Check bits in range mask */
315 jl L(RANGEMASK_CHECK)
316 # LOE rbx r15 r12d r13d
317
318 movq 16(%rsp), %r12
319 cfi_restore(12)
320 movq 8(%rsp), %r13
321 cfi_restore(13)
322 movq (%rsp), %r14
323 cfi_restore(14)
324 vmovupd 64(%rsp), %ymm0
325
326 /* Go to exit */
327 jmp L(EXIT)
328 /* 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) */
329 .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22
330 /* 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) */
331 .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22
332 /* 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) */
333 .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
334 # LOE rbx r12 r13 r14 r15 ymm0
335
336 /* Scalar math function call
337 * to process special input
338 */
339
340L(SCALAR_MATH_CALL):
341 movl %r12d, %r14d
342 vmovsd 32(%rsp, %r14, 8), %xmm0
343 call atanh@PLT
344 # LOE rbx r14 r15 r12d r13d xmm0
345
346 vmovsd %xmm0, 64(%rsp, %r14, 8)
347
348 /* Process special inputs in loop */
349 jmp L(SPECIAL_VALUES_LOOP)
350 # LOE rbx r15 r12d r13d
351END(_ZGVdN4v_atanh_avx2)
352
353 .section .rodata, "a"
354 .align 32
355
356#ifdef __svml_datanh_data_internal_typedef
357typedef unsigned int VUINT32;
358typedef struct {
359 __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2];
360 __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2];
361 __declspec(align(32)) VUINT32 poly_coeff[4][4][2];
362 __declspec(align(32)) VUINT32 ExpMask[4][2];
363 __declspec(align(32)) VUINT32 Two10[4][2];
364 __declspec(align(32)) VUINT32 MinLog1p[4][2];
365 __declspec(align(32)) VUINT32 MaxLog1p[4][2];
366 __declspec(align(32)) VUINT32 One[4][2];
367 __declspec(align(32)) VUINT32 SgnMask[4][2];
368 __declspec(align(32)) VUINT32 XThreshold[4][2];
369 __declspec(align(32)) VUINT32 XhMask[4][2];
370 __declspec(align(32)) VUINT32 Threshold[4][2];
371 __declspec(align(32)) VUINT32 Bias[4][2];
372 __declspec(align(32)) VUINT32 Bias1[4][2];
373 __declspec(align(32)) VUINT32 ExpMask0[4][2];
374 __declspec(align(32)) VUINT32 ExpMask2[4][2];
375 __declspec(align(32)) VUINT32 L2[4][2];
376 __declspec(align(32)) VUINT32 dHalf[4][2];
377 __declspec(align(32)) VUINT32 dSign[4][2];
378 __declspec(align(32)) VUINT32 dTopMask12[4][2];
379 __declspec(align(32)) VUINT32 dTopMask41[4][2];
380 __declspec(align(32)) VUINT32 TinyRange[4][2];
381} __svml_datanh_data_internal;
382#endif
383__svml_datanh_data_internal:
384 /* Log_HA_table */
385 .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100
386 .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a
387 .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff
388 .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a
389 .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb
390 .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e
391 .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b
392 .quad 0xc0862347acebaf68, 0xbe1cef3b152048af
393 .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e
394 .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4
395 .quad 0xc08623537ac30980, 0xbe1cefc4642ee597
396 .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16
397 .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6
398 .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362
399 .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557
400 .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b
401 .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed
402 .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed
403 .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f
404 .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce
405 .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7
406 .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1
407 .quad 0xc086238206e94218, 0xbe1ceee898588610
408 .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea
409 .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6
410 .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6
411 .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165
412 .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1
413 .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b
414 .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670
415 .quad 0xc08623a07b28ae60, 0xbe1cef359363787c
416 .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c
417 .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84
418 .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7
419 .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b
420 .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf
421 .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62
422 .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b
423 .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98
424 .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87
425 .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff
426 .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798
427 .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e
428 .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde
429 .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b
430 .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c
431 .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98
432 .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f
433 .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358
434 .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380
435 .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4
436 .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b
437 .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2
438 .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4
439 .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400
440 .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7
441 .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a
442 .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d
443 .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b
444 .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575
445 .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951
446 .quad 0xc086241263e87f50, 0xbe1cf16e74768529
447 .quad 0xc0862415f6193658, 0xbe1cefec64b8becb
448 .quad 0xc086241986b28f30, 0xbe1cf0838d210baa
449 .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11
450 .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805
451 .quad 0xc08624242f008380, 0xbe1ceea988c5a417
452 .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5
453 .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38
454 .quad 0xc086242ec92eaee8, 0xbe1cef0946455411
455 .quad 0xc08624324ecbaf98, 0xbe1cefea60907739
456 .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42
457 .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d
458 .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e
459 .quad 0xc086244055d2c968, 0xbe1cef345284c119
460 .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219
461 .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114
462 .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189
463 .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f
464 .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f
465 .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5
466 .quad 0xc0862458a789e250, 0xbe1cf0b173796a31
467 .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d
468 .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb
469 .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7
470 .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f
471 .quad 0xc0862469d9a591c0, 0xbe1cef503d947663
472 .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2
473 .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc
474 .quad 0xc086247419475160, 0xbe1cf03dd9922331
475 .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129
476 .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6
477 .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100
478 .quad 0xc0862481af27c528, 0xbe1cee8a6593278a
479 .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7
480 .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8
481 .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002
482 .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4
483 .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c
484 .quad 0xc0862495e5179270, 0xbe1cee757f20c326
485 .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4
486 .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97
487 .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb
488 .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e
489 .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b
490 .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80
491 .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71
492 .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9
493 .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139
494 .quad 0xc08624b72472a528, 0xbe1cf031c931c11f
495 .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7
496 .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d
497 .quad 0xc08624c103245238, 0xbe1cefd492f1ba75
498 .quad 0xc08624c44aacab08, 0xbe1cf1253e154466
499 .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55
500 .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe
501 .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f
502 .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968
503 .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78
504 .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75
505 .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2
506 .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d
507 .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed
508 .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f
509 .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65
510 .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078
511 .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a
512 .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a
513 .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2
514 .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc
515 .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501
516 .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7
517 .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c
518 .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c
519 .quad 0xc0862507f9448db0, 0xbe1cf082da464994
520 .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf
521 .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531
522 .quad 0xc08625117667dd78, 0xbe1cf1106599c962
523 .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f
524 .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6
525 .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4
526 .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092
527 .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd
528 .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7
529 .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25
530 .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d
531 .quad 0xc086252dab033898, 0xbe1cf220bba8861f
532 .quad 0xc0862530c732b078, 0xbe1cef51e310eae2
533 .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae
534 .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8
535 .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171
536 .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408
537 .quad 0xc08625404216d160, 0xbe1cf22d2536f06b
538 .quad 0xc08625435715e498, 0xbe1cef6abbf2e268
539 .quad 0xc08625466ae57648, 0xbe1cf093a14789f5
540 .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c
541 .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc
542 .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157
543 .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997
544 .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff
545 .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f
546 .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9
547 .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d
548 .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc
549 .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9
550 .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5
551 .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b
552 .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996
553 .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945
554 .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995
555 .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c
556 .quad 0xc086257a09acaae0, 0xbe1cf172c3078947
557 .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22
558 .quad 0xc086258006ae71b8, 0xbe1cefdb80426923
559 .quad 0xc08625830381da08, 0xbe1ceef1391a0372
560 .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13
561 .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83
562 .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9
563 .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0
564 .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81
565 .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766
566 .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b
567 .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2
568 .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec
569 .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e
570 .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7
571 .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780
572 .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11
573 .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219
574 .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160
575 .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495
576 .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5
577 .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5
578 .quad 0xc08625baf725ae28, 0xbe1cf05c80779283
579 .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889
580 .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124
581 .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86
582 .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092
583 .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb
584 .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12
585 .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7
586 .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e
587 .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701
588 .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812
589 .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e
590 .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4
591 .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12
592 .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21
593 .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2
594 .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece
595 .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12
596 .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad
597 .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3
598 .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9
599 .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1
600 .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9
601 .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2
602 .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51
603 .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e
604 .quad 0xc08626052294df58, 0xbe1cf1b745c57716
605 .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23
606 .quad 0xc086260abb103458, 0xbe1cef480ff1acd2
607 .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef
608 .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5
609 .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6
610 .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a
611 .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545
612 .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011
613 .quad 0xc086261e32267e98, 0xbe1cf19917010e96
614 .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985
615 .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3
616 .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c
617 .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50
618 .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68
619 .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9
620 .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b
621 .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238
622 .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e
623 .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d
624 .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba
625 .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279
626 .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085
627 .quad 0xc086264494738e08, 0xbe1cf06797bd03b2
628 .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1
629 .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f
630 .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a
631 .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39
632 .quad 0xc08626521daf7758, 0xbe1cf252595aceb3
633 .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2
634 .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa
635 .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366
636 .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b
637 .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0
638 .quad 0xc08626623df56e38, 0xbe1cf080e10b8365
639 .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544
640 .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9
641 .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9
642 .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2
643 .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c
644 .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6
645 .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d
646 .quad 0xc08626778c3d4798, 0xbe1cefe260819380
647 .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3
648 .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa
649 .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1
650 .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52
651 .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd
652 .quad 0xc086268762086350, 0xbe1cefaee1edfa35
653 .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936
654 .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed
655 .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49
656 .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e
657 .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc
658 .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840
659 .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be
660 .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c
661 .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06
662 .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e
663 .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3
664 .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68
665 .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5
666 .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986
667 .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d
668 .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26
669 .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06
670 .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652
671 .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f
672 .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c
673 .quad 0xc08626bddc737648, 0xbe1ceec10a020e73
674 .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7
675 .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe
676 .quad 0xc08626c586da9388, 0xbe1cef7de2452430
677 .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae
678 .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d
679 .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3
680 .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d
681 .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e
682 .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64
683 .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2
684 .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d
685 .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab
686 .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153
687 .quad 0xc08626e164224880, 0xbe1ceeb431709788
688 .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5
689 .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b
690 .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93
691 .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8
692 .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2
693 .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6
694 .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef
695 .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339
696 .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1
697 .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28
698 .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f
699 .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3
700 .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6
701 .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6
702 .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3
703 .quad 0xc086270941934b10, 0xbe1ceefe32981f2c
704 .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445
705 .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c
706 .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f
707 .quad 0xc08627131a321318, 0xbe1cef04ac0fb802
708 .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd
709 .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5
710 .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570
711 .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85
712 .quad 0xc086271f58064068, 0xbe1cef092a785e3f
713 .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30
714 .quad 0xc086272438546be8, 0xbe1cf210907ded8b
715 .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99
716 .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc
717 .quad 0xc086272b833b8df0, 0xbe1cf06874992df5
718 .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899
719 .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99
720 .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe
721 .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d
722 .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8
723 .quad 0xc086273a05367688, 0xbe1cf18656c50806
724 .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a
725 .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911
726 .quad 0xc08627413c621848, 0xbe1cf188a4ea680c
727 .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80
728 .quad 0xc086274608397868, 0xbe1cf25a328c28e2
729 .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8
730 .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a
731 .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228
732 .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c
733 .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44
734 .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2
735 .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4
736 .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a
737 .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9
738 .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627
739 .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e
740 .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee
741 .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad
742 .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5
743 .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f
744 .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312
745 .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85
746 .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011
747 .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7
748 .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da
749 .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554
750 .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377
751 .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd
752 .quad 0xc086277eba506158, 0xbe1cf0b911b029f0
753 .quad 0xc08627810e6f4028, 0xbe1cefdc24719766
754 .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7
755 .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec
756 .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc
757 .quad 0xc086278a58297918, 0xbe1cf053073872bf
758 .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947
759 .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234
760 .quad 0xc086279148685aa0, 0xbe1cf162204794a8
761 .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac
762 .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3
763 .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388
764 .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5
765 .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f
766 .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a
767 .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f
768 .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f
769 .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26
770 .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a
771 .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81
772 .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d
773 .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893
774 .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0
775 .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8
776 .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00
777 .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2
778 .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4
779 .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7
780 .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3
781 .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d
782 .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e
783 .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93
784 .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a
785 .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9
786 .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f
787 .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1
788 .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4
789 .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb
790 .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b
791 .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b
792 .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96
793 .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477
794 .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2
795 .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c
796 .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875
797 .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522
798 .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57
799 .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e
800 .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548
801 .quad 0xc08627edd34756b8, 0xbe1cef36b3366305
802 .quad 0xc08627f007f0a408, 0xbe1cf18134625550
803 .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11
804 .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc
805 .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8
806 .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe
807 .quad 0xc08627fb06290f90, 0xbe1cf25188430e25
808 .quad 0xc08627fd37324070, 0xbe1ceea1713490f9
809 .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c
810 .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b
811 .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b
812 .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c
813 .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a
814 .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4
815 .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256
816 .quad 0xc086280eaa003050, 0xbe1cf010ad787fea
817 .quad 0xc0862810d5af5880, 0xbe1cee622478393d
818 .quad 0xc086281300c7e368, 0xbe1cf01c7482564f
819 .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536
820 .quad 0xc086281755366778, 0xbe1cef2edae5837d
821 .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9
822 .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8
823 .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83
824 .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4
825 .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9
826 .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2
827 .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d
828 .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1
829 .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b
830 .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02
831 .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9
832 .quad 0xc08628311f099420, 0xbe1cef247a9ec596
833 .quad 0xc086283341749490, 0xbe1cef74bbcc488a
834 .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e
835 .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810
836 .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8
837 .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065
838 .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e
839 .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234
840 .quad 0xc08628422284b168, 0xbe1cf0abf7638127
841 .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058
842 .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c
843 .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1
844 .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43
845 .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09
846 .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60
847 .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393
848 .quad 0xc0862853021d4588, 0xbe1cf176adb417f7
849 .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da
850 .quad 0xc08628573479b220, 0xbe1ceec34cf49523
851 .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb
852 .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b
853 .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d
854 .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5
855 .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792
856 .quad 0xc0862863be697458, 0xbe1cf097f890c6f8
857 .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc
858 .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7
859 .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98
860 .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7
861 .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d
862 .quad 0xc086287034d0b690, 0xbe1ceff262d0a248
863 .quad 0xc086287246aab180, 0xbe1cefa7bc194186
864 .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9
865 .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07
866 .quad 0xc086287879041490, 0xbe1cf034803c8a48
867 .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f
868 .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7
869 .quad 0xc086287ea6946958, 0xbe1cefb1e4625943
870 .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0
871 .quad 0xc0862882c24faff8, 0xbe1cee9896d016da
872 .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc
873 .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34
874 .quad 0xc0862888e7f699e0, 0xbe1cf05603549486
875 .quad 0xc086288af37750b0, 0xbe1cef50fff513d3
876 .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0
877 .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d
878 .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f
879 .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed
880 .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d
881 .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646
882 .quad 0xc0862899356c1150, 0xbe1ceec4501167e9
883 .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f
884 .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35
885 .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a
886 .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464
887 .quad 0xc08628a355104818, 0xbe1cf0435e2782b0
888 .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c
889 .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d
890 .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2
891 .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9
892 .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979
893 .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c
894 .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32
895 .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2
896 .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303
897 .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880
898 /* Log_LA_table */
899 .align 32
900 .quad 0x8000000000000000
901 .quad 0xbf5ff802a9ab10e6
902 .quad 0xbf6ff00aa2b10bc0
903 .quad 0xbf77ee11ebd82e94
904 .quad 0xbf7fe02a6b106789
905 .quad 0xbf83e7295d25a7d9
906 .quad 0xbf87dc475f810a77
907 .quad 0xbf8bcf712c74384c
908 .quad 0xbf8fc0a8b0fc03e4
909 .quad 0xbf91d7f7eb9eebe7
910 .quad 0xbf93cea44346a575
911 .quad 0xbf95c45a51b8d389
912 .quad 0xbf97b91b07d5b11b
913 .quad 0xbf99ace7551cc514
914 .quad 0xbf9b9fc027af9198
915 .quad 0xbf9d91a66c543cc4
916 .quad 0xbf9f829b0e783300
917 .quad 0xbfa0b94f7c196176
918 .quad 0xbfa1b0d98923d980
919 .quad 0xbfa2a7ec2214e873
920 .quad 0xbfa39e87b9febd60
921 .quad 0xbfa494acc34d911c
922 .quad 0xbfa58a5bafc8e4d5
923 .quad 0xbfa67f94f094bd98
924 .quad 0xbfa77458f632dcfc
925 .quad 0xbfa868a83083f6cf
926 .quad 0xbfa95c830ec8e3eb
927 .quad 0xbfaa4fe9ffa3d235
928 .quad 0xbfab42dd711971bf
929 .quad 0xbfac355dd0921f2d
930 .quad 0xbfad276b8adb0b52
931 .quad 0xbfae19070c276016
932 .quad 0xbfaf0a30c01162a6
933 .quad 0xbfaffae9119b9303
934 .quad 0xbfb075983598e471
935 .quad 0xbfb0ed839b5526fe
936 .quad 0xbfb16536eea37ae1
937 .quad 0xbfb1dcb263db1944
938 .quad 0xbfb253f62f0a1417
939 .quad 0xbfb2cb0283f5de1f
940 .quad 0xbfb341d7961bd1d1
941 .quad 0xbfb3b87598b1b6ee
942 .quad 0xbfb42edcbea646f0
943 .quad 0xbfb4a50d3aa1b040
944 .quad 0xbfb51b073f06183f
945 .quad 0xbfb590cafdf01c28
946 .quad 0xbfb60658a93750c4
947 .quad 0xbfb67bb0726ec0fc
948 .quad 0xbfb6f0d28ae56b4c
949 .quad 0xbfb765bf23a6be13
950 .quad 0xbfb7da766d7b12cd
951 .quad 0xbfb84ef898e8282a
952 .quad 0xbfb8c345d6319b21
953 .quad 0xbfb9375e55595ede
954 .quad 0xbfb9ab42462033ad
955 .quad 0xbfba1ef1d8061cd4
956 .quad 0xbfba926d3a4ad563
957 .quad 0xbfbb05b49bee43fe
958 .quad 0xbfbb78c82bb0eda1
959 .quad 0xbfbbeba818146765
960 .quad 0xbfbc5e548f5bc743
961 .quad 0xbfbcd0cdbf8c13e1
962 .quad 0xbfbd4313d66cb35d
963 .quad 0xbfbdb5270187d927
964 .quad 0xbfbe27076e2af2e6
965 .quad 0xbfbe98b549671467
966 .quad 0xbfbf0a30c01162a6
967 .quad 0xbfbf7b79fec37ddf
968 .quad 0xbfbfec9131dbeabb
969 .quad 0xbfc02ebb42bf3d4b
970 .quad 0xbfc0671512ca596e
971 .quad 0xbfc09f561ee719c3
972 .quad 0xbfc0d77e7cd08e59
973 .quad 0xbfc10f8e422539b1
974 .quad 0xbfc14785846742ac
975 .quad 0xbfc17f6458fca611
976 .quad 0xbfc1b72ad52f67a0
977 .quad 0xbfc1eed90e2dc2c3
978 .quad 0xbfc2266f190a5acb
979 .quad 0xbfc25ded0abc6ad2
980 .quad 0xbfc29552f81ff523
981 .quad 0xbfc2cca0f5f5f251
982 .quad 0xbfc303d718e47fd3
983 .quad 0xbfc33af575770e4f
984 .quad 0xbfc371fc201e8f74
985 .quad 0xbfc3a8eb2d31a376
986 .quad 0xbfc3dfc2b0ecc62a
987 .quad 0xbfc41682bf727bc0
988 .quad 0xbfc44d2b6ccb7d1e
989 .quad 0xbfc483bccce6e3dd
990 .quad 0xbfc4ba36f39a55e5
991 .quad 0xbfc4f099f4a230b2
992 .quad 0xbfc526e5e3a1b438
993 .quad 0xbfc55d1ad4232d6f
994 .quad 0xbfc59338d9982086
995 .quad 0xbfc5c940075972b9
996 .quad 0xbfc5ff3070a793d4
997 .quad 0xbfc6350a28aaa758
998 .quad 0xbfc66acd4272ad51
999 .quad 0xbfc6a079d0f7aad2
1000 .quad 0xbfc6d60fe719d21d
1001 .quad 0xbfc70b8f97a1aa75
1002 .quad 0xbfc740f8f54037a5
1003 .quad 0xbfc7764c128f2127
1004 .quad 0xbfc7ab890210d909
1005 .quad 0xbfc7e0afd630c274
1006 .quad 0xbfc815c0a14357eb
1007 .quad 0xbfc84abb75865139
1008 .quad 0xbfc87fa06520c911
1009 .quad 0xbfc8b46f8223625b
1010 .quad 0xbfc8e928de886d41
1011 .quad 0xbfc91dcc8c340bde
1012 .quad 0xbfc9525a9cf456b4
1013 .quad 0xbfc986d3228180ca
1014 .quad 0xbfc9bb362e7dfb83
1015 .quad 0xbfc9ef83d2769a34
1016 .quad 0xbfca23bc1fe2b563
1017 .quad 0xbfca57df28244dcd
1018 .quad 0xbfca8becfc882f19
1019 .quad 0xbfcabfe5ae46124c
1020 .quad 0xbfcaf3c94e80bff3
1021 .quad 0xbfcb2797ee46320c
1022 .quad 0xbfcb5b519e8fb5a4
1023 .quad 0xbfcb8ef670420c3b
1024 .quad 0xbfcbc286742d8cd6
1025 .quad 0xbfcbf601bb0e44e2
1026 .quad 0xbfcc2968558c18c1
1027 .quad 0xbfcc5cba543ae425
1028 .quad 0xbfcc8ff7c79a9a22
1029 .quad 0xbfccc320c0176502
1030 .quad 0xbfccf6354e09c5dc
1031 .quad 0xbfcd293581b6b3e7
1032 .quad 0xbfcd5c216b4fbb91
1033 .quad 0xbfcd8ef91af31d5e
1034 .quad 0xbfcdc1bca0abec7d
1035 .quad 0xbfcdf46c0c722d2f
1036 .quad 0xbfce27076e2af2e6
1037 .quad 0xbfce598ed5a87e2f
1038 .quad 0xbfce8c0252aa5a60
1039 .quad 0xbfcebe61f4dd7b0b
1040 .quad 0xbfcef0adcbdc5936
1041 .quad 0xbfcf22e5e72f105d
1042 .quad 0xbfcf550a564b7b37
1043 .quad 0xbfcf871b28955045
1044 .quad 0xbfcfb9186d5e3e2b
1045 .quad 0xbfcfeb0233e607cc
1046 .quad 0xbfd00e6c45ad501d
1047 .quad 0xbfd0274dc16c232f
1048 .quad 0xbfd0402594b4d041
1049 .quad 0xbfd058f3c703ebc6
1050 .quad 0xbfd071b85fcd590d
1051 .quad 0xbfd08a73667c57af
1052 .quad 0xbfd0a324e27390e3
1053 .quad 0xbfd0bbccdb0d24bd
1054 .quad 0xbfd0d46b579ab74b
1055 .quad 0xbfd0ed005f657da4
1056 .quad 0xbfd1058bf9ae4ad5
1057 .quad 0xbfd11e0e2dad9cb7
1058 .quad 0xbfd136870293a8b0
1059 .quad 0xbfd14ef67f88685a
1060 .quad 0xbfd1675cababa60e
1061 .quad 0xbfd17fb98e15095d
1062 .quad 0xbfd1980d2dd4236f
1063 .quad 0xbfd1b05791f07b49
1064 .quad 0xbfd1c898c16999fb
1065 .quad 0xbfd1e0d0c33716be
1066 .quad 0xbfd1f8ff9e48a2f3
1067 .quad 0xbfd211255986160c
1068 .quad 0xbfd22941fbcf7966
1069 .quad 0xbfd241558bfd1404
1070 .quad 0xbfd2596010df763a
1071 .quad 0xbfd27161913f853d
1072 .quad 0xbfd2895a13de86a3
1073 .quad 0xbfd2a1499f762bc9
1074 .quad 0xbfd2b9303ab89d25
1075 .quad 0xbfd2d10dec508583
1076 .quad 0xbfd2e8e2bae11d31
1077 .quad 0xbfd300aead06350c
1078 .quad 0xbfd31871c9544185
1079 .quad 0xbfd3302c16586588
1080 .quad 0xbfd347dd9a987d55
1081 .quad 0xbfd35f865c93293e
1082 .quad 0xbfd3772662bfd85b
1083 .quad 0xbfd38ebdb38ed321
1084 .quad 0xbfd3a64c556945ea
1085 .quad 0xbfd3bdd24eb14b6a
1086 .quad 0xbfd3d54fa5c1f710
1087 .quad 0xbfd3ecc460ef5f50
1088 .quad 0xbfd404308686a7e4
1089 .quad 0xbfd41b941cce0bee
1090 .quad 0xbfd432ef2a04e814
1091 .quad 0xbfd44a41b463c47c
1092 .quad 0xbfd4618bc21c5ec2
1093 .quad 0xbfd478cd5959b3d9
1094 .quad 0xbfd49006804009d1
1095 .quad 0xbfd4a7373cecf997
1096 .quad 0xbfd4be5f957778a1
1097 .quad 0xbfd4d57f8fefe27f
1098 .quad 0xbfd4ec973260026a
1099 .quad 0xbfd503a682cb1cb3
1100 .quad 0xbfd51aad872df82d
1101 .quad 0xbfd531ac457ee77e
1102 .quad 0xbfd548a2c3add263
1103 .quad 0xbfd55f9107a43ee2
1104 .quad 0xbfd5767717455a6c
1105 .quad 0xbfd58d54f86e02f2
1106 .quad 0xbfd5a42ab0f4cfe2
1107 .quad 0xbfd5baf846aa1b19
1108 .quad 0xbfd5d1bdbf5809ca
1109 .quad 0xbfd5e87b20c2954a
1110 .quad 0xbfd5ff3070a793d4
1111 .quad 0xbfd615ddb4bec13c
1112 .quad 0xbfd62c82f2b9c795
1113 .quad 0x3fd61965cdb02c1f
1114 .quad 0x3fd602d08af091ec
1115 .quad 0x3fd5ec433d5c35ae
1116 .quad 0x3fd5d5bddf595f30
1117 .quad 0x3fd5bf406b543db2
1118 .quad 0x3fd5a8cadbbedfa1
1119 .quad 0x3fd5925d2b112a59
1120 .quad 0x3fd57bf753c8d1fb
1121 .quad 0x3fd565995069514c
1122 .quad 0x3fd54f431b7be1a9
1123 .quad 0x3fd538f4af8f72fe
1124 .quad 0x3fd522ae0738a3d8
1125 .quad 0x3fd50c6f1d11b97c
1126 .quad 0x3fd4f637ebba9810
1127 .quad 0x3fd4e0086dd8baca
1128 .quad 0x3fd4c9e09e172c3c
1129 .quad 0x3fd4b3c077267e9a
1130 .quad 0x3fd49da7f3bcc41f
1131 .quad 0x3fd487970e958770
1132 .quad 0x3fd4718dc271c41b
1133 .quad 0x3fd45b8c0a17df13
1134 .quad 0x3fd44591e0539f49
1135 .quad 0x3fd42f9f3ff62642
1136 .quad 0x3fd419b423d5e8c7
1137 .quad 0x3fd403d086cea79c
1138 .quad 0x3fd3edf463c1683e
1139 .quad 0x3fd3d81fb5946dba
1140 .quad 0x3fd3c25277333184
1141 .quad 0x3fd3ac8ca38e5c5f
1142 .quad 0x3fd396ce359bbf54
1143 .quad 0x3fd3811728564cb2
1144 .quad 0x3fd36b6776be1117
1145 .quad 0x3fd355bf1bd82c8b
1146 .quad 0x3fd3401e12aecba1
1147 .quad 0x3fd32a84565120a8
1148 .quad 0x3fd314f1e1d35ce4
1149 .quad 0x3fd2ff66b04ea9d4
1150 .quad 0x3fd2e9e2bce12286
1151 .quad 0x3fd2d46602adccee
1152 .quad 0x3fd2bef07cdc9354
1153 .quad 0x3fd2a982269a3dbf
1154 .quad 0x3fd2941afb186b7c
1155 .quad 0x3fd27ebaf58d8c9d
1156 .quad 0x3fd269621134db92
1157 .quad 0x3fd25410494e56c7
1158 .quad 0x3fd23ec5991eba49
1159 .quad 0x3fd22981fbef797b
1160 .quad 0x3fd214456d0eb8d4
1161 .quad 0x3fd1ff0fe7cf47a7
1162 .quad 0x3fd1e9e1678899f4
1163 .quad 0x3fd1d4b9e796c245
1164 .quad 0x3fd1bf99635a6b95
1165 .quad 0x3fd1aa7fd638d33f
1166 .quad 0x3fd1956d3b9bc2fa
1167 .quad 0x3fd180618ef18adf
1168 .quad 0x3fd16b5ccbacfb73
1169 .quad 0x3fd1565eed455fc3
1170 .quad 0x3fd14167ef367783
1171 .quad 0x3fd12c77cd00713b
1172 .quad 0x3fd1178e8227e47c
1173 .quad 0x3fd102ac0a35cc1c
1174 .quad 0x3fd0edd060b78081
1175 .quad 0x3fd0d8fb813eb1ef
1176 .quad 0x3fd0c42d676162e3
1177 .quad 0x3fd0af660eb9e279
1178 .quad 0x3fd09aa572e6c6d4
1179 .quad 0x3fd085eb8f8ae797
1180 .quad 0x3fd07138604d5862
1181 .quad 0x3fd05c8be0d9635a
1182 .quad 0x3fd047e60cde83b8
1183 .quad 0x3fd03346e0106062
1184 .quad 0x3fd01eae5626c691
1185 .quad 0x3fd00a1c6adda473
1186 .quad 0x3fcfeb2233ea07cd
1187 .quad 0x3fcfc218be620a5e
1188 .quad 0x3fcf991c6cb3b379
1189 .quad 0x3fcf702d36777df0
1190 .quad 0x3fcf474b134df229
1191 .quad 0x3fcf1e75fadf9bde
1192 .quad 0x3fcef5ade4dcffe6
1193 .quad 0x3fceccf2c8fe920a
1194 .quad 0x3fcea4449f04aaf5
1195 .quad 0x3fce7ba35eb77e2a
1196 .quad 0x3fce530effe71012
1197 .quad 0x3fce2a877a6b2c12
1198 .quad 0x3fce020cc6235ab5
1199 .quad 0x3fcdd99edaf6d7e9
1200 .quad 0x3fcdb13db0d48940
1201 .quad 0x3fcd88e93fb2f450
1202 .quad 0x3fcd60a17f903515
1203 .quad 0x3fcd38666871f465
1204 .quad 0x3fcd1037f2655e7b
1205 .quad 0x3fcce816157f1988
1206 .quad 0x3fccc000c9db3c52
1207 .quad 0x3fcc97f8079d44ec
1208 .quad 0x3fcc6ffbc6f00f71
1209 .quad 0x3fcc480c0005ccd1
1210 .quad 0x3fcc2028ab17f9b4
1211 .quad 0x3fcbf851c067555f
1212 .quad 0x3fcbd087383bd8ad
1213 .quad 0x3fcba8c90ae4ad19
1214 .quad 0x3fcb811730b823d2
1215 .quad 0x3fcb5971a213acdb
1216 .quad 0x3fcb31d8575bce3d
1217 .quad 0x3fcb0a4b48fc1b46
1218 .quad 0x3fcae2ca6f672bd4
1219 .quad 0x3fcabb55c31693ad
1220 .quad 0x3fca93ed3c8ad9e3
1221 .quad 0x3fca6c90d44b704e
1222 .quad 0x3fca454082e6ab05
1223 .quad 0x3fca1dfc40f1b7f1
1224 .quad 0x3fc9f6c407089664
1225 .quad 0x3fc9cf97cdce0ec3
1226 .quad 0x3fc9a8778debaa38
1227 .quad 0x3fc981634011aa75
1228 .quad 0x3fc95a5adcf7017f
1229 .quad 0x3fc9335e5d594989
1230 .quad 0x3fc90c6db9fcbcd9
1231 .quad 0x3fc8e588ebac2dbf
1232 .quad 0x3fc8beafeb38fe8c
1233 .quad 0x3fc897e2b17b19a5
1234 .quad 0x3fc871213750e994
1235 .quad 0x3fc84a6b759f512f
1236 .quad 0x3fc823c16551a3c2
1237 .quad 0x3fc7fd22ff599d4f
1238 .quad 0x3fc7d6903caf5ad0
1239 .quad 0x3fc7b0091651528c
1240 .quad 0x3fc7898d85444c73
1241 .quad 0x3fc7631d82935a86
1242 .quad 0x3fc73cb9074fd14d
1243 .quad 0x3fc716600c914054
1244 .quad 0x3fc6f0128b756abc
1245 .quad 0x3fc6c9d07d203fc7
1246 .quad 0x3fc6a399dabbd383
1247 .quad 0x3fc67d6e9d785771
1248 .quad 0x3fc6574ebe8c133a
1249 .quad 0x3fc6313a37335d76
1250 .quad 0x3fc60b3100b09476
1251 .quad 0x3fc5e533144c1719
1252 .quad 0x3fc5bf406b543db2
1253 .quad 0x3fc59958ff1d52f1
1254 .quad 0x3fc5737cc9018cdd
1255 .quad 0x3fc54dabc26105d2
1256 .quad 0x3fc527e5e4a1b58d
1257 .quad 0x3fc5022b292f6a45
1258 .quad 0x3fc4dc7b897bc1c8
1259 .quad 0x3fc4b6d6fefe22a4
1260 .quad 0x3fc4913d8333b561
1261 .quad 0x3fc46baf0f9f5db7
1262 .quad 0x3fc4462b9dc9b3dc
1263 .quad 0x3fc420b32740fdd4
1264 .quad 0x3fc3fb45a59928cc
1265 .quad 0x3fc3d5e3126bc27f
1266 .quad 0x3fc3b08b6757f2a9
1267 .quad 0x3fc38b3e9e027479
1268 .quad 0x3fc365fcb0159016
1269 .quad 0x3fc340c59741142e
1270 .quad 0x3fc31b994d3a4f85
1271 .quad 0x3fc2f677cbbc0a96
1272 .quad 0x3fc2d1610c86813a
1273 .quad 0x3fc2ac55095f5c59
1274 .quad 0x3fc28753bc11aba5
1275 .quad 0x3fc2625d1e6ddf57
1276 .quad 0x3fc23d712a49c202
1277 .quad 0x3fc2188fd9807263
1278 .quad 0x3fc1f3b925f25d41
1279 .quad 0x3fc1ceed09853752
1280 .quad 0x3fc1aa2b7e23f72a
1281 .quad 0x3fc185747dbecf34
1282 .quad 0x3fc160c8024b27b1
1283 .quad 0x3fc13c2605c398c3
1284 .quad 0x3fc1178e8227e47c
1285 .quad 0x3fc0f301717cf0fb
1286 .quad 0x3fc0ce7ecdccc28d
1287 .quad 0x3fc0aa06912675d5
1288 .quad 0x3fc08598b59e3a07
1289 .quad 0x3fc06135354d4b18
1290 .quad 0x3fc03cdc0a51ec0d
1291 .quad 0x3fc0188d2ecf6140
1292 .quad 0x3fbfe89139dbd566
1293 .quad 0x3fbfa01c9db57ce2
1294 .quad 0x3fbf57bc7d9005db
1295 .quad 0x3fbf0f70cdd992e3
1296 .quad 0x3fbec739830a1120
1297 .quad 0x3fbe7f1691a32d3e
1298 .quad 0x3fbe3707ee30487b
1299 .quad 0x3fbdef0d8d466db9
1300 .quad 0x3fbda727638446a2
1301 .quad 0x3fbd5f55659210e2
1302 .quad 0x3fbd179788219364
1303 .quad 0x3fbccfedbfee13a8
1304 .quad 0x3fbc885801bc4b23
1305 .quad 0x3fbc40d6425a5cb1
1306 .quad 0x3fbbf968769fca11
1307 .quad 0x3fbbb20e936d6974
1308 .quad 0x3fbb6ac88dad5b1c
1309 .quad 0x3fbb23965a52ff00
1310 .quad 0x3fbadc77ee5aea8c
1311 .quad 0x3fba956d3ecade63
1312 .quad 0x3fba4e7640b1bc38
1313 .quad 0x3fba0792e9277cac
1314 .quad 0x3fb9c0c32d4d2548
1315 .quad 0x3fb97a07024cbe74
1316 .quad 0x3fb9335e5d594989
1317 .quad 0x3fb8ecc933aeb6e8
1318 .quad 0x3fb8a6477a91dc29
1319 .quad 0x3fb85fd927506a48
1320 .quad 0x3fb8197e2f40e3f0
1321 .quad 0x3fb7d33687c293c9
1322 .quad 0x3fb78d02263d82d3
1323 .quad 0x3fb746e100226ed9
1324 .quad 0x3fb700d30aeac0e1
1325 .quad 0x3fb6bad83c1883b6
1326 .quad 0x3fb674f089365a7a
1327 .quad 0x3fb62f1be7d77743
1328 .quad 0x3fb5e95a4d9791cb
1329 .quad 0x3fb5a3abb01ade25
1330 .quad 0x3fb55e10050e0384
1331 .quad 0x3fb518874226130a
1332 .quad 0x3fb4d3115d207eac
1333 .quad 0x3fb48dae4bc31018
1334 .quad 0x3fb4485e03dbdfad
1335 .quad 0x3fb403207b414b7f
1336 .quad 0x3fb3bdf5a7d1ee64
1337 .quad 0x3fb378dd7f749714
1338 .quad 0x3fb333d7f8183f4b
1339 .quad 0x3fb2eee507b40301
1340 .quad 0x3fb2aa04a44717a5
1341 .quad 0x3fb26536c3d8c369
1342 .quad 0x3fb2207b5c78549e
1343 .quad 0x3fb1dbd2643d190b
1344 .quad 0x3fb1973bd1465567
1345 .quad 0x3fb152b799bb3cc9
1346 .quad 0x3fb10e45b3cae831
1347 .quad 0x3fb0c9e615ac4e17
1348 .quad 0x3fb08598b59e3a07
1349 .quad 0x3fb0415d89e74444
1350 .quad 0x3faffa6911ab9301
1351 .quad 0x3faf723b517fc523
1352 .quad 0x3faeea31c006b87c
1353 .quad 0x3fae624c4a0b5e1b
1354 .quad 0x3fadda8adc67ee4e
1355 .quad 0x3fad52ed6405d86f
1356 .quad 0x3faccb73cdddb2cc
1357 .quad 0x3fac441e06f72a9e
1358 .quad 0x3fabbcebfc68f420
1359 .quad 0x3fab35dd9b58baad
1360 .quad 0x3faaaef2d0fb10fc
1361 .quad 0x3faa282b8a936171
1362 .quad 0x3fa9a187b573de7c
1363 .quad 0x3fa91b073efd7314
1364 .quad 0x3fa894aa149fb343
1365 .quad 0x3fa80e7023d8ccc4
1366 .quad 0x3fa788595a3577ba
1367 .quad 0x3fa70265a550e777
1368 .quad 0x3fa67c94f2d4bb58
1369 .quad 0x3fa5f6e73078efb8
1370 .quad 0x3fa5715c4c03ceef
1371 .quad 0x3fa4ebf43349e26f
1372 .quad 0x3fa466aed42de3ea
1373 .quad 0x3fa3e18c1ca0ae92
1374 .quad 0x3fa35c8bfaa1306b
1375 .quad 0x3fa2d7ae5c3c5bae
1376 .quad 0x3fa252f32f8d183f
1377 .quad 0x3fa1ce5a62bc353a
1378 .quad 0x3fa149e3e4005a8d
1379 .quad 0x3fa0c58fa19dfaaa
1380 .quad 0x3fa0415d89e74444
1381 .quad 0x3f9f7a9b16782856
1382 .quad 0x3f9e72bf2813ce51
1383 .quad 0x3f9d6b2725979802
1384 .quad 0x3f9c63d2ec14aaf2
1385 .quad 0x3f9b5cc258b718e6
1386 .quad 0x3f9a55f548c5c43f
1387 .quad 0x3f994f6b99a24475
1388 .quad 0x3f98492528c8cabf
1389 .quad 0x3f974321d3d006d3
1390 .quad 0x3f963d6178690bd6
1391 .quad 0x3f9537e3f45f3565
1392 .quad 0x3f9432a925980cc1
1393 .quad 0x3f932db0ea132e22
1394 .quad 0x3f9228fb1fea2e28
1395 .quad 0x3f912487a5507f70
1396 .quad 0x3f90205658935847
1397 .quad 0x3f8e38ce3033310c
1398 .quad 0x3f8c317384c75f06
1399 .quad 0x3f8a2a9c6c170462
1400 .quad 0x3f882448a388a2aa
1401 .quad 0x3f861e77e8b53fc6
1402 .quad 0x3f841929f96832f0
1403 .quad 0x3f82145e939ef1e9
1404 .quad 0x3f8010157588de71
1405 .quad 0x3f7c189cbb0e27fb
1406 .quad 0x3f78121214586b54
1407 .quad 0x3f740c8a747878e2
1408 .quad 0x3f70080559588b35
1409 .quad 0x3f680904828985c0
1410 .quad 0x3f60040155d5889e
1411 .quad 0x3f50020055655889
1412 .quad 0x0000000000000000
1413 /* poly_coeff[4] */
1414 .align 32
1415 .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */
1416 .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */
1417 .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */
1418 .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */
1419 /* ExpMask */
1420 .align 32
1421 .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff
1422 /* Two10 */
1423 .align 32
1424 .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000
1425 /* MinLog1p = -1+2^(-53) */
1426 .align 32
1427 .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff
1428 /* MaxLog1p */
1429 .align 32
1430 .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000
1431 /* One */
1432 .align 32
1433 .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000
1434 /* SgnMask */
1435 .align 32
1436 .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff
1437 /* XThreshold */
1438 .align 32
1439 .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000
1440 /* XhMask */
1441 .align 32
1442 .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00
1443 /* Threshold */
1444 .align 32
1445 .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000
1446 /* Bias */
1447 .align 32
1448 .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000
1449 /* Bias1 */
1450 .align 32
1451 .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000
1452 /* ExpMask */
1453 .align 32
1454 .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000
1455 /* ExpMask2 */
1456 .align 32
1457 .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000
1458 /* L2L */
1459 .align 32
1460 .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF
1461 /* dHalf */
1462 .align 32
1463 .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000
1464 /* dSign */
1465 .align 32
1466 .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000
1467 /* dTopMask12 */
1468 .align 32
1469 .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000
1470 /* dTopMask41 */
1471 .align 32
1472 .quad 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000
1473 /* dTinyRange */
1474 .align 32
1475 .quad 0x0350000000000000, 0x0350000000000000, 0x0350000000000000, 0x0350000000000000
1476 .align 32
1477 .type __svml_datanh_data_internal, @object
1478 .size __svml_datanh_data_internal, .-__svml_datanh_data_internal
1479

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