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

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