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

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