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