/* Function log2 vectorized with SSE4.
   Copyright (C) 2021-2024 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, see
   https://www.gnu.org/licenses/.  */

/*
 * ALGORITHM DESCRIPTION:
 *
 *    Get short reciprocal approximation Rcp ~ 1/mantissa(x)
 *    R = Rcp*x - 1.0
 *    log2(x) = k - log2(Rcp) + poly_approximation(R)
 *       log2(Rcp) is tabulated
 *
 *
 */

/* Offsets for data table __svml_dlog2_data_internal
 */
#define Log_HA_table			0
#define Log_LA_table			8208
#define poly_coeff			12320
#define ExpMask				12400
#define Two10				12416
#define MinNorm				12432
#define MaxNorm				12448
#define HalfMask			12464
#define One				12480
#define Threshold			12496
#define Bias				12512
#define Bias1				12528

/* Lookup bias for data table __svml_dlog2_data_internal.  */
#define Table_Lookup_Bias		-0x405ff0

#include <sysdep.h>

	.section .text.sse4, "ax", @progbits
ENTRY(_ZGVbN2v_log2_sse4)
	pushq	%rbp
	cfi_def_cfa_offset(16)
	movq	%rsp, %rbp
	cfi_def_cfa(6, 16)
	cfi_offset(6, -16)
	andq	$-32, %rsp
	subq	$64, %rsp

	/* exponent bits */
	movaps	%xmm0, %xmm5

	/* preserve mantissa, set input exponent to 2^(-10) */
	movups	ExpMask+__svml_dlog2_data_internal(%rip), %xmm1
	psrlq	$20, %xmm5
	andps	%xmm0, %xmm1
	lea	Table_Lookup_Bias+__svml_dlog2_data_internal(%rip), %rsi
	orps	Two10+__svml_dlog2_data_internal(%rip), %xmm1

	/* check range */
	movaps	%xmm0, %xmm8

	/* reciprocal approximation good to at least 11 bits */
	cvtpd2ps %xmm1, %xmm2
	cmpltpd	MinNorm+__svml_dlog2_data_internal(%rip), %xmm8
	movlhps	%xmm2, %xmm2
	movaps	%xmm0, %xmm7
	rcpps	%xmm2, %xmm3
	cmpnlepd MaxNorm+__svml_dlog2_data_internal(%rip), %xmm7
	cvtps2pd %xmm3, %xmm12

	/* round reciprocal to nearest integer, will have 1+9 mantissa bits */
	movups	.FLT_11(%rip), %xmm4
	orps	%xmm7, %xmm8
	addpd	%xmm4, %xmm12

	/* combine and get argument value range mask */
	movmskpd %xmm8, %edx

	/* argument reduction */
	movups	HalfMask+__svml_dlog2_data_internal(%rip), %xmm9
	subpd	%xmm4, %xmm12
	andps	%xmm1, %xmm9

	/*
	 * prepare table index
	 * table lookup
	 */
	movaps	%xmm12, %xmm10
	subpd	%xmm9, %xmm1
	mulpd	%xmm12, %xmm9
	mulpd	%xmm12, %xmm1
	subpd	One+__svml_dlog2_data_internal(%rip), %xmm9
	addpd	%xmm9, %xmm1

	/* polynomial */
	movups	poly_coeff+__svml_dlog2_data_internal(%rip), %xmm14
	psrlq	$40, %xmm10
	mulpd	%xmm1, %xmm14
	movd	%xmm10, %eax
	pshufd	$2, %xmm10, %xmm11
	movaps	%xmm1, %xmm10
	movups	poly_coeff+32+__svml_dlog2_data_internal(%rip), %xmm15
	mulpd	%xmm1, %xmm10
	addpd	poly_coeff+16+__svml_dlog2_data_internal(%rip), %xmm14
	mulpd	%xmm1, %xmm15
	mulpd	%xmm10, %xmm14
	addpd	poly_coeff+48+__svml_dlog2_data_internal(%rip), %xmm15
	movd	%xmm11, %ecx
	movups	poly_coeff+64+__svml_dlog2_data_internal(%rip), %xmm11
	addpd	%xmm14, %xmm15
	mulpd	%xmm1, %xmm11
	mulpd	%xmm15, %xmm10

	/* exponent */
	movups	Threshold+__svml_dlog2_data_internal(%rip), %xmm13
	cmpltpd	%xmm12, %xmm13
	addpd	%xmm10, %xmm11
	pshufd	$221, %xmm5, %xmm6

	/* biased exponent in DP format */
	cvtdq2pd %xmm6, %xmm3
	movslq	%eax, %rax
	movslq	%ecx, %rcx
	andps	Bias+__svml_dlog2_data_internal(%rip), %xmm13
	orps	Bias1+__svml_dlog2_data_internal(%rip), %xmm13
	movsd	(%rsi, %rax), %xmm2
	movhpd	(%rsi, %rcx), %xmm2
	subpd	%xmm13, %xmm3

	/* reconstruction */
	addpd	%xmm11, %xmm2
	addpd	%xmm2, %xmm3
	testl	%edx, %edx

	/* Go to special inputs processing branch */
	jne	L(SPECIAL_VALUES_BRANCH)
	# LOE rbx r12 r13 r14 r15 edx xmm0 xmm3

	/* Restore registers
	 * and exit the function
	 */

L(EXIT):
	movaps	%xmm3, %xmm0
	movq	%rbp, %rsp
	popq	%rbp
	cfi_def_cfa(7, 8)
	cfi_restore(6)
	ret
	cfi_def_cfa(6, 16)
	cfi_offset(6, -16)

	/* Branch to process
	 * special inputs
	 */

L(SPECIAL_VALUES_BRANCH):
	movups	%xmm0, 32(%rsp)
	movups	%xmm3, 48(%rsp)
	# LOE rbx r12 r13 r14 r15 edx

	xorl	%eax, %eax
	movq	%r12, 16(%rsp)
	/*  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)  */
	.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22
	movl	%eax, %r12d
	movq	%r13, 8(%rsp)
	/*  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)  */
	.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xff, 0xff, 0xff, 0x22
	movl	%edx, %r13d
	movq	%r14, (%rsp)
	/*  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)  */
	.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
	# LOE rbx r15 r12d r13d

	/* Range mask
	 * bits check
	 */

L(RANGEMASK_CHECK):
	btl	%r12d, %r13d

	/* Call scalar math function */
	jc	L(SCALAR_MATH_CALL)
	# LOE rbx r15 r12d r13d

	/* Special inputs
	 * processing loop
	 */

L(SPECIAL_VALUES_LOOP):
	incl	%r12d
	cmpl	$2, %r12d

	/* Check bits in range mask */
	jl	L(RANGEMASK_CHECK)
	# LOE rbx r15 r12d r13d

	movq	16(%rsp), %r12
	cfi_restore(12)
	movq	8(%rsp), %r13
	cfi_restore(13)
	movq	(%rsp), %r14
	cfi_restore(14)
	movups	48(%rsp), %xmm3

	/* Go to exit */
	jmp	L(EXIT)
	/*  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)  */
	.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22
	/*  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)  */
	.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xff, 0xff, 0xff, 0x22
	/*  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)  */
	.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
	# LOE rbx r12 r13 r14 r15 xmm3

	/* Scalar math function call
	 * to process special input
	 */

L(SCALAR_MATH_CALL):
	movl	%r12d, %r14d
	movsd	32(%rsp, %r14, 8), %xmm0
	call	log2@PLT
	# LOE rbx r14 r15 r12d r13d xmm0

	movsd	%xmm0, 48(%rsp, %r14, 8)

	/* Process special inputs in loop */
	jmp	L(SPECIAL_VALUES_LOOP)
	# LOE rbx r15 r12d r13d
END(_ZGVbN2v_log2_sse4)

	.section .rodata, "a"
	.align	16

#ifdef __svml_dlog2_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
	__declspec(align(16)) VUINT32 Log_HA_table[(1<<10)+2][2];
	__declspec(align(16)) VUINT32 Log_LA_table[(1<<9)+1][2];
	__declspec(align(16)) VUINT32 poly_coeff[5][2][2];
	__declspec(align(16)) VUINT32 ExpMask[2][2];
	__declspec(align(16)) VUINT32 Two10[2][2];
	__declspec(align(16)) VUINT32 MinNorm[2][2];
	__declspec(align(16)) VUINT32 MaxNorm[2][2];
	__declspec(align(16)) VUINT32 HalfMask[2][2];
	__declspec(align(16)) VUINT32 One[2][2];
	__declspec(align(16)) VUINT32 Threshold[2][2];
	__declspec(align(16)) VUINT32 Bias[2][2];
	__declspec(align(16)) VUINT32 Bias1[2][2];
} __svml_dlog2_data_internal;
#endif
__svml_dlog2_data_internal:
	/* Log_HA_table */
	.quad	0xc08ff00000000000, 0x0000000000000000
	.quad	0xc08ff0040038c920, 0x3d52bfc81744e999
	.quad	0xc08ff007ff0f0190, 0xbd59b2cedc63c895
	.quad	0xc08ff00bfc839e88, 0xbd28e365e6741d71
	.quad	0xc08ff00ff8979428, 0x3d4027998f69a77d
	.quad	0xc08ff013f34bd5a0, 0x3d5dd2cb33fe6a89
	.quad	0xc08ff017eca15518, 0xbd526514cdf2c019
	.quad	0xc08ff01be49903d8, 0xbd44bfeeba165e04
	.quad	0xc08ff01fdb33d218, 0xbd3fa79ee110cec3
	.quad	0xc08ff023d072af20, 0xbd4eebb642c7fd60
	.quad	0xc08ff027c4568948, 0x3d429b13d7093443
	.quad	0xc08ff02bb6e04de8, 0x3d50f346bd36551e
	.quad	0xc08ff02fa810e968, 0xbd5020bb662f1536
	.quad	0xc08ff03397e94750, 0x3d5de76b56340995
	.quad	0xc08ff037866a5218, 0x3d58065ff3304090
	.quad	0xc08ff03b7394f360, 0x3d561fc9322fb785
	.quad	0xc08ff03f5f6a13d0, 0x3d0abecd17d0d778
	.quad	0xc08ff04349ea9b28, 0xbd588f3ad0ce4d44
	.quad	0xc08ff04733177040, 0xbd4454ba4ac5f44d
	.quad	0xc08ff04b1af178f8, 0xbd556f78faaa0887
	.quad	0xc08ff04f01799a58, 0x3d49db8976de7469
	.quad	0xc08ff052e6b0b868, 0xbd5cdb6fce17ef00
	.quad	0xc08ff056ca97b668, 0xbd576de8c0412f09
	.quad	0xc08ff05aad2f76a0, 0x3d30142c7ec6475c
	.quad	0xc08ff05e8e78da70, 0xbd1e685afc26de72
	.quad	0xc08ff0626e74c260, 0xbd40b64c954078a3
	.quad	0xc08ff0664d240e10, 0xbd5fcde393462d7d
	.quad	0xc08ff06a2a879c48, 0xbd537245eeeecc53
	.quad	0xc08ff06e06a04ae8, 0x3d4ac306eb47b436
	.quad	0xc08ff071e16ef6e8, 0xbd5a1fd9d3758f6b
	.quad	0xc08ff075baf47c80, 0x3d2401fbaaa67e3c
	.quad	0xc08ff0799331b6f0, 0x3d4f8dbef47a4d53
	.quad	0xc08ff07d6a2780a8, 0x3d51215e0abb42d1
	.quad	0xc08ff0813fd6b340, 0x3d57ce6249eddb35
	.quad	0xc08ff08514402770, 0xbd38a803c7083a25
	.quad	0xc08ff088e764b528, 0x3d42218beba5073e
	.quad	0xc08ff08cb9453370, 0x3d447b66f1c6248f
	.quad	0xc08ff09089e27880, 0xbd53d9297847e995
	.quad	0xc08ff094593d59c8, 0xbd12b6979cc77aa9
	.quad	0xc08ff0982756abd0, 0xbd55308545ecd702
	.quad	0xc08ff09bf42f4260, 0xbd578fa97c3b936f
	.quad	0xc08ff09fbfc7f068, 0xbd41828408ce869d
	.quad	0xc08ff0a38a218808, 0x3d555da6ce7251a6
	.quad	0xc08ff0a7533cda88, 0xbd41f3cd14bfcb02
	.quad	0xc08ff0ab1b1ab878, 0xbd1f028da6bf1852
	.quad	0xc08ff0aee1bbf188, 0xbd4cf04de3267f54
	.quad	0xc08ff0b2a72154a8, 0xbd4556e47019db10
	.quad	0xc08ff0b66b4baff8, 0x3d1e7ba00b15fbe4
	.quad	0xc08ff0ba2e3bd0d0, 0x3d5bfde1c52c2f28
	.quad	0xc08ff0bdeff283b8, 0x3d48d63fe20ee5d6
	.quad	0xc08ff0c1b0709480, 0x3d57f551980838ff
	.quad	0xc08ff0c56fb6ce20, 0xbd4189091f293c81
	.quad	0xc08ff0c92dc5fae0, 0x3d4d549f05f06169
	.quad	0xc08ff0ccea9ee428, 0xbd5982466074e1e3
	.quad	0xc08ff0d0a64252b8, 0xbd5d30a6b16c0e4b
	.quad	0xc08ff0d460b10e80, 0xbd3138bf3b51a201
	.quad	0xc08ff0d819ebdea8, 0xbd454e680c0801d6
	.quad	0xc08ff0dbd1f389a8, 0x3d584db361385926
	.quad	0xc08ff0df88c8d520, 0xbd564f2252a82c03
	.quad	0xc08ff0e33e6c8610, 0xbd5c78c35ed5d034
	.quad	0xc08ff0e6f2df60a8, 0xbd52eb9f29ca3d75
	.quad	0xc08ff0eaa6222860, 0x3d5340c0c01b5ff8
	.quad	0xc08ff0ee58359fe8, 0x3d10c2acaffa64b6
	.quad	0xc08ff0f2091a8948, 0xbd3fced311301ebe
	.quad	0xc08ff0f5b8d1a5c8, 0x3d41ee5d591af30b
	.quad	0xc08ff0f9675bb5f0, 0x3d4873546b0e668c
	.quad	0xc08ff0fd14b97998, 0x3d5a99928177a119
	.quad	0xc08ff100c0ebafd8, 0x3d378ead132adcac
	.quad	0xc08ff1046bf31720, 0x3d51a538bc597d48
	.quad	0xc08ff10815d06d18, 0xbd540ee2f35efd7e
	.quad	0xc08ff10bbe846ec8, 0xbd59cf94753adacc
	.quad	0xc08ff10f660fd878, 0xbd5201a3d6862895
	.quad	0xc08ff1130c7365c0, 0x3d383e25d0822d03
	.quad	0xc08ff116b1afd180, 0xbd0b7389bbea8f7b
	.quad	0xc08ff11a55c5d5f0, 0xbd4df278087a6617
	.quad	0xc08ff11df8b62c98, 0xbd48daeb8ec01e26
	.quad	0xc08ff1219a818e50, 0x3d57c9312e0a14da
	.quad	0xc08ff1253b28b330, 0xbd5f0fbc0e4d507e
	.quad	0xc08ff128daac52c8, 0xbd222afdee008687
	.quad	0xc08ff12c790d23d8, 0x3d17c71747bcef8b
	.quad	0xc08ff130164bdc88, 0x3d5d69cfd051af50
	.quad	0xc08ff133b2693248, 0x3d59dff064e9433a
	.quad	0xc08ff1374d65d9e8, 0x3d4f71a30db3240b
	.quad	0xc08ff13ae7428788, 0xbd5e56afa9524606
	.quad	0xc08ff13e7fffeeb0, 0xbd44acd84e6f8518
	.quad	0xc08ff142179ec228, 0xbd519845ade5e121
	.quad	0xc08ff145ae1fb420, 0xbd5b3b4a38ddec70
	.quad	0xc08ff14943837620, 0xbd5ea4bb5bc137c7
	.quad	0xc08ff14cd7cab910, 0x3d5610f3bf8eb6ce
	.quad	0xc08ff1506af62d20, 0x3d57b1170d6184cf
	.quad	0xc08ff153fd0681f0, 0x3d5791a688a3660e
	.quad	0xc08ff1578dfc6678, 0x3d5d41ecf8abac2e
	.quad	0xc08ff15b1dd88908, 0x3cf0bd995d64d573
	.quad	0xc08ff15eac9b9758, 0xbd5e3653cd796d01
	.quad	0xc08ff1623a463e80, 0xbd597573005ef2d8
	.quad	0xc08ff165c6d92af0, 0xbd4ee222d6439c41
	.quad	0xc08ff16952550880, 0x3d5913b845e75950
	.quad	0xc08ff16cdcba8258, 0xbd558e7ba239077e
	.quad	0xc08ff170660a4328, 0x3d5a0e174a2cae66
	.quad	0xc08ff173ee44f4d8, 0x3d22b8db103db712
	.quad	0xc08ff177756b40d8, 0x3d5cc610480853c4
	.quad	0xc08ff17afb7dcfe0, 0xbd304a8bc84e5c0f
	.quad	0xc08ff17e807d4a28, 0x3d3639d185da5f7d
	.quad	0xc08ff182046a5738, 0xbd534705d06d788f
	.quad	0xc08ff18587459e10, 0xbd540d25b28a51fd
	.quad	0xc08ff189090fc510, 0xbd02d804afa7080a
	.quad	0xc08ff18c89c97200, 0x3d5f2a5d305818ba
	.quad	0xc08ff19009734a08, 0xbd3a602e9d05c3e4
	.quad	0xc08ff193880df1d0, 0xbd533d6fdcd54875
	.quad	0xc08ff197059a0d60, 0x3d24eaf0a9490202
	.quad	0xc08ff19a82184020, 0xbd5685666d98eb59
	.quad	0xc08ff19dfd892cf8, 0xbd509f8745f0868b
	.quad	0xc08ff1a177ed7630, 0xbd2dcba340a9d268
	.quad	0xc08ff1a4f145bd80, 0x3d4916fcd0331266
	.quad	0xc08ff1a86992a408, 0xbd548cd033a49073
	.quad	0xc08ff1abe0d4ca68, 0xbd5252f40e5df1a2
	.quad	0xc08ff1af570cd0a0, 0xbd541d623bd02248
	.quad	0xc08ff1b2cc3b5628, 0xbd258dc48235c071
	.quad	0xc08ff1b64060f9e0, 0xbd4b4bd8f02ed3f2
	.quad	0xc08ff1b9b37e5a28, 0x3d4e8d20a88cd0a2
	.quad	0xc08ff1bd259414c0, 0x3d3b669b6380bc55
	.quad	0xc08ff1c096a2c6e8, 0xbd45d54159d51094
	.quad	0xc08ff1c406ab0d58, 0x3d59f684ffbca44d
	.quad	0xc08ff1c775ad8428, 0x3d543b1b1d508399
	.quad	0xc08ff1cae3aac6f8, 0x3d5c30953a12fc6e
	.quad	0xc08ff1ce50a370d0, 0xbd1763b04f9aad5f
	.quad	0xc08ff1d1bc981c40, 0x3d573c6fa54f46c2
	.quad	0xc08ff1d527896338, 0x3d48ccfb9ffd7455
	.quad	0xc08ff1d89177df30, 0x3d42756f80d6f7ce
	.quad	0xc08ff1dbfa642910, 0xbd3c2bfbc353c5a5
	.quad	0xc08ff1df624ed940, 0x3d1d6064f5dc380b
	.quad	0xc08ff1e2c9388798, 0x3ce327c6b30711cf
	.quad	0xc08ff1e62f21cb70, 0x3d140aa9546525bc
	.quad	0xc08ff1e9940b3b98, 0xbd15c1ff43c21863
	.quad	0xc08ff1ecf7f56e60, 0x3d590ba680120498
	.quad	0xc08ff1f05ae0f988, 0x3d5390c6b62dff50
	.quad	0xc08ff1f3bcce7258, 0x3d4da0c90878457f
	.quad	0xc08ff1f71dbe6d90, 0x3d30697edc85b98c
	.quad	0xc08ff1fa7db17f70, 0x3d04d81188510a79
	.quad	0xc08ff1fddca83bb0, 0xbd5f2ddc983ce25c
	.quad	0xc08ff2013aa33598, 0x3d46c22f0fae6844
	.quad	0xc08ff20497a2ffd0, 0xbd53359b714c3d03
	.quad	0xc08ff207f3a82ca0, 0xbd4aefaa5524f88b
	.quad	0xc08ff20b4eb34dc0, 0x3d39bf4a4a73d01d
	.quad	0xc08ff20ea8c4f468, 0x3d44217befdb12e6
	.quad	0xc08ff21201ddb158, 0x3d5219b281d4b6f8
	.quad	0xc08ff21559fe14c8, 0xbd5e3b123373d370
	.quad	0xc08ff218b126ae88, 0xbd59b525a6edc3cb
	.quad	0xc08ff21c07580dd8, 0xbd4b494e7737c4dc
	.quad	0xc08ff21f5c92c180, 0xbd3989b7d67e3e54
	.quad	0xc08ff222b0d757d0, 0x3d486c8f098ad3cf
	.quad	0xc08ff22604265e98, 0x3d5254956d8e15b2
	.quad	0xc08ff22956806330, 0x3d3f14730a362959
	.quad	0xc08ff22ca7e5f278, 0xbd40e8ed02e32ea1
	.quad	0xc08ff22ff85798d8, 0xbd40fb2b9b1e0261
	.quad	0xc08ff23347d5e238, 0xbd5bfeb1e13c8bc3
	.quad	0xc08ff23696615a18, 0x3d5b891f041e037b
	.quad	0xc08ff239e3fa8b60, 0xbd36255027582bb9
	.quad	0xc08ff23d30a200a8, 0x3d56bb5a92a55361
	.quad	0xc08ff2407c5843f0, 0xbd31902fb4417244
	.quad	0xc08ff243c71dded8, 0xbd5a8a7c3c4a2cc6
	.quad	0xc08ff24710f35a88, 0xbd23be1be6941016
	.quad	0xc08ff24a59d93fa8, 0x3d55c85afafa1d46
	.quad	0xc08ff24da1d01668, 0xbd5b4b05a0adcbf1
	.quad	0xc08ff250e8d866a0, 0x3d134d191476f74b
	.quad	0xc08ff2542ef2b798, 0x3d5e78ce963395e1
	.quad	0xc08ff257741f9028, 0x3d3f9219a8f57c17
	.quad	0xc08ff25ab85f76c8, 0x3d5cfc6f47ac691b
	.quad	0xc08ff25dfbb2f168, 0x3d4ab3b720b5ca71
	.quad	0xc08ff2613e1a8598, 0x3d54a4ab99feb71a
	.quad	0xc08ff2647f96b868, 0xbd42daa69d79d724
	.quad	0xc08ff267c0280e88, 0xbd344d9115018f45
	.quad	0xc08ff26affcf0c28, 0xbd56673e143d2ac0
	.quad	0xc08ff26e3e8c3518, 0x3d3aac889e91c638
	.quad	0xc08ff2717c600ca8, 0x3d4cf65b41d006e7
	.quad	0xc08ff274b94b15c0, 0xbd4c821320391e76
	.quad	0xc08ff277f54dd2e8, 0x3d51abd6e2ddc2a1
	.quad	0xc08ff27b3068c620, 0xbd2f1bdd1264e703
	.quad	0xc08ff27e6a9c7110, 0xbd58437b4f032f15
	.quad	0xc08ff281a3e954f0, 0xbd4f8e063b069a7d
	.quad	0xc08ff284dc4ff288, 0x3d5276d0723a662a
	.quad	0xc08ff28813d0ca28, 0xbd5731f7c6d8f6eb
	.quad	0xc08ff28b4a6c5bd0, 0xbd58b587f08307ec
	.quad	0xc08ff28e80232708, 0x3d57f19a7a352baf
	.quad	0xc08ff291b4f5aae0, 0x3d570d99aff32790
	.quad	0xc08ff294e8e46610, 0x3d4efafaad4f59db
	.quad	0xc08ff2981befd6e0, 0xbd41eb1728371564
	.quad	0xc08ff29b4e187b38, 0x3d458465b4e080d7
	.quad	0xc08ff29e7f5ed088, 0x3d46acb4a035a820
	.quad	0xc08ff2a1afc353e0, 0xbd39fc68238dd5d3
	.quad	0xc08ff2a4df4681f0, 0x3d526d90c6750dde
	.quad	0xc08ff2a80de8d6f0, 0x3d48505c598278fd
	.quad	0xc08ff2ab3baacec0, 0x3d520fece8e148e8
	.quad	0xc08ff2ae688ce4d0, 0x3d14f7bf38646243
	.quad	0xc08ff2b1948f9430, 0xbd5aa5f693a627df
	.quad	0xc08ff2b4bfb35790, 0xbd4725d8e6280861
	.quad	0xc08ff2b7e9f8a930, 0x3d482e0765d44bda
	.quad	0xc08ff2bb136002e8, 0xbd523d745da75cde
	.quad	0xc08ff2be3be9de40, 0xbd32e50b4191ef73
	.quad	0xc08ff2c16396b448, 0xbd490856dfe073b2
	.quad	0xc08ff2c48a66fdb8, 0xbd512b526137db4d
	.quad	0xc08ff2c7b05b32e8, 0x3d5bfcdc71b36585
	.quad	0xc08ff2cad573cbb8, 0xbd2c24f2afddb377
	.quad	0xc08ff2cdf9b13fc0, 0xbd5ea60d06da12f6
	.quad	0xc08ff2d11d140630, 0xbd582f2f9e256dc5
	.quad	0xc08ff2d43f9c95d0, 0xbd4411c269523864
	.quad	0xc08ff2d7614b6508, 0xbd41107eeb7e1093
	.quad	0xc08ff2da8220e9e8, 0x3d5a4aa491710eda
	.quad	0xc08ff2dda21d9a10, 0x3d46e50a14550378
	.quad	0xc08ff2e0c141ead0, 0xbd4881e3bd846de9
	.quad	0xc08ff2e3df8e5118, 0xbd46d93437bd399d
	.quad	0xc08ff2e6fd034170, 0xbd5b4ef1e9713a4c
	.quad	0xc08ff2ea19a13010, 0x3d4a0e31ed25b3ef
	.quad	0xc08ff2ed356890b8, 0xbd5a7a560db90113
	.quad	0xc08ff2f05059d6f0, 0x3d51f5bb5f9072c9
	.quad	0xc08ff2f36a7575c0, 0x3d5ed5225350a585
	.quad	0xc08ff2f683bbdfe0, 0xbd1c9363d9e745db
	.quad	0xc08ff2f99c2d87b8, 0x3d329c788e376e0d
	.quad	0xc08ff2fcb3cadf40, 0xbd59eb5d29918de0
	.quad	0xc08ff2ffca945828, 0xbd4a86aac097a06b
	.quad	0xc08ff302e08a63b8, 0x3d541c2c97e8b4d1
	.quad	0xc08ff305f5ad72d8, 0x3d43c95dec31821b
	.quad	0xc08ff30909fdf620, 0xbd590abed3d72738
	.quad	0xc08ff30c1d7c5dd8, 0x3d4caefdad90e913
	.quad	0xc08ff30f302919d0, 0xbd4f7ed5e1dcb170
	.quad	0xc08ff312420499a0, 0x3d3c590edf8c3407
	.quad	0xc08ff315530f4c70, 0x3d5477d46ce838e1
	.quad	0xc08ff3186349a118, 0x3d5e4b00c511fa78
	.quad	0xc08ff31b72b40610, 0xbd54333e5a0c1658
	.quad	0xc08ff31e814ee990, 0x3d25300b88bfa10a
	.quad	0xc08ff3218f1ab958, 0xbd5bfbd520249ed7
	.quad	0xc08ff3249c17e2f0, 0x3d436b1cdba645b7
	.quad	0xc08ff327a846d368, 0xbd5cb667c2f86eaa
	.quad	0xc08ff32ab3a7f7a0, 0x3d5334d06a920d5f
	.quad	0xc08ff32dbe3bbbf8, 0xbd5407602ab64243
	.quad	0xc08ff330c8028ca0, 0xbd52b12c9cc82316
	.quad	0xc08ff333d0fcd560, 0x3d158d7dd801324b
	.quad	0xc08ff336d92b01a8, 0xbd38b55deae69564
	.quad	0xc08ff339e08d7ca0, 0x3d4a92d51dc43d43
	.quad	0xc08ff33ce724b110, 0x3d5455afbb5de008
	.quad	0xc08ff33fecf10970, 0x3d3b65694b6f87fb
	.quad	0xc08ff342f1f2efe8, 0xbd3afb8ccc1260eb
	.quad	0xc08ff345f62ace50, 0x3d59c98f7ec71b79
	.quad	0xc08ff348f9990e18, 0xbd5238294ff3846d
	.quad	0xc08ff34bfc3e1880, 0x3d4deba7087bbf7b
	.quad	0xc08ff34efe1a5650, 0xbd573e25d2d308e5
	.quad	0xc08ff351ff2e3020, 0xbd44bc302ffa76fb
	.quad	0xc08ff354ff7a0e20, 0xbd2cad65891df000
	.quad	0xc08ff357fefe5838, 0x3d4b4fe326c05a8a
	.quad	0xc08ff35afdbb75f8, 0x3d0fb5680f67649b
	.quad	0xc08ff35dfbb1cea8, 0xbd4af509a9977e57
	.quad	0xc08ff360f8e1c940, 0x3cea69221cfb0ad6
	.quad	0xc08ff363f54bcc60, 0x3d3d116c159fead5
	.quad	0xc08ff366f0f03e58, 0xbd5e64e8bff70d5e
	.quad	0xc08ff369ebcf8538, 0xbd5cc32ce5effb96
	.quad	0xc08ff36ce5ea06b8, 0x3d57bbe811e4fbda
	.quad	0xc08ff36fdf402830, 0xbcf46d4595033678
	.quad	0xc08ff372d7d24ec8, 0x3d4c4bbec857b9fc
	.quad	0xc08ff375cfa0df40, 0xbd59d3f339613a2d
	.quad	0xc08ff378c6ac3e28, 0x3d58408e1bcb4e24
	.quad	0xc08ff37bbcf4cfa0, 0x3d5fdb793dc8e643
	.quad	0xc08ff37eb27af788, 0xbd5f0d884b401f1e
	.quad	0xc08ff381a73f1988, 0xbd5a7ed37e2c50b4
	.quad	0xc08ff3849b4198e8, 0x3d5b14c1f630b2af
	.quad	0xc08ff3878e82d898, 0x3d505a9abef02aff
	.quad	0xc08ff38a81033b50, 0xbd4a9bbd51a7d1c4
	.quad	0xc08ff38d72c32380, 0x3d4783623464f80e
	.quad	0xc08ff39063c2f338, 0xbd0e2d78f68abcc7
	.quad	0xc08ff39354030c50, 0x3d3e604763e782cb
	.quad	0xc08ff3964383d048, 0xbd4514f0840b6f59
	.quad	0xc08ff3993245a060, 0xbd5488753d6035a4
	.quad	0xc08ff39c2048dd90, 0x3d5ccc099b5ff97d
	.quad	0xc08ff39f0d8de870, 0x3d454ada83325c69
	.quad	0xc08ff3a1fa152168, 0x3d1e4b27fb754eb1
	.quad	0xc08ff3a4e5dee890, 0x3d58c67819ead583
	.quad	0xc08ff3a7d0eb9da8, 0xbd536d02e85d644b
	.quad	0xc08ff3aabb3ba048, 0x3d5f510ab9e7c184
	.quad	0xc08ff3ada4cf4f98, 0x3d557bc5b296d5f5
	.quad	0xc08ff3b08da70a90, 0xbd48893b8f7f52c9
	.quad	0xc08ff3b375c32fe8, 0x3d5ca0b69a37d601
	.quad	0xc08ff3b65d241df0, 0xbd519c57fff86872
	.quad	0xc08ff3b943ca32d8, 0x3d048da0e3a8c3c3
	.quad	0xc08ff3bc29b5cc68, 0xbd5dd05e06ec07d0
	.quad	0xc08ff3bf0ee74840, 0x3d56c52a5c8015db
	.quad	0xc08ff3c1f35f0398, 0x3d54e1dba9930bed
	.quad	0xc08ff3c4d71d5b78, 0x3d2c5f679a7932b7
	.quad	0xc08ff3c7ba22aca0, 0xbd3f77628aa1aed8
	.quad	0xc08ff3cd7e03ac60, 0xbd5cc8a22f1d8591
	.quad	0xc08ff3d33f04e360, 0x3d4ae09463e13f6f
	.quad	0xc08ff3d8fd292dc8, 0x3d42736efbec3922
	.quad	0xc08ff3deb8736390, 0xbce0324f8d149b09
	.quad	0xc08ff3e470e65870, 0xbd52089e4b8dd900
	.quad	0xc08ff3ea2684dbf0, 0xbd5f8e9d5dea127f
	.quad	0xc08ff3efd951b970, 0xbd4b60d79db026b1
	.quad	0xc08ff3f5894fb828, 0x3d45ff1d6cea2c52
	.quad	0xc08ff3fb36819b38, 0x3d5d56022cd7f5b2
	.quad	0xc08ff400e0ea21a8, 0xbd58d63f09907b27
	.quad	0xc08ff406888c0690, 0xbd4ce6ea362f7ce0
	.quad	0xc08ff40c2d6a00f0, 0x3d519fc9ad2ef3ab
	.quad	0xc08ff411cf86c3c8, 0xbd55fc89e7b55f20
	.quad	0xc08ff4176ee4fe40, 0xbd53229ca791d9be
	.quad	0xc08ff41d0b875b88, 0x3d5e7733e6fb23d1
	.quad	0xc08ff422a57082e0, 0x3d5871413696b637
	.quad	0xc08ff4283ca317c0, 0x3d4b118aa7f493b9
	.quad	0xc08ff42dd121b9c8, 0x3d4bdf3692763b50
	.quad	0xc08ff43362ef04c8, 0x3d4867e17476dd63
	.quad	0xc08ff438f20d90c8, 0xbd5d49b741c778f3
	.quad	0xc08ff43e7e7ff228, 0x3d59ac35724f01e3
	.quad	0xc08ff4440848b968, 0xbd5251ccdc49432d
	.quad	0xc08ff4498f6a7388, 0x3d56cf153ebc9f07
	.quad	0xc08ff44f13e7a9b8, 0x3d503b7a697a659c
	.quad	0xc08ff45495c2e198, 0xbd5fa03da8acd872
	.quad	0xc08ff45a14fe9d38, 0xbd5e6cfb0b5c38fc
	.quad	0xc08ff45f919d5b08, 0x3d468b1f1269f1cf
	.quad	0xc08ff4650ba195e0, 0xbd313a3a8f72c0f3
	.quad	0xc08ff46a830dc528, 0x3d205d31eb8d2bd4
	.quad	0xc08ff46ff7e45cb8, 0xbd56cb8ddf5d4a90
	.quad	0xc08ff4756a27cd00, 0x3d272c2d46acdcbf
	.quad	0xc08ff47ad9da82e8, 0xbd4946efab7a989d
	.quad	0xc08ff48046fee800, 0xbd23fabe48cf933c
	.quad	0xc08ff485b1976268, 0x3d4f03b099d80f79
	.quad	0xc08ff48b19a654e0, 0x3d4fe0c35ab7e9b5
	.quad	0xc08ff4907f2e1ed0, 0xbd54b4843f34fe09
	.quad	0xc08ff495e2311c58, 0xbd5dfa6541236a64
	.quad	0xc08ff49b42b1a648, 0x3d56fd2c8c418cbb
	.quad	0xc08ff4a0a0b21218, 0x3d5e687ef208418a
	.quad	0xc08ff4a5fc34b210, 0x3d4a671ce14c5521
	.quad	0xc08ff4ab553bd540, 0x3d419d0202e3cd96
	.quad	0xc08ff4b0abc9c780, 0x3d576b941a895781
	.quad	0xc08ff4b5ffe0d170, 0xbd4ea96d88cd1a30
	.quad	0xc08ff4bb518338a0, 0x3d4d6b405bd43ba6
	.quad	0xc08ff4c0a0b33f60, 0xbcf03382150a56b7
	.quad	0xc08ff4c5ed7324f8, 0xbd400df96beb0937
	.quad	0xc08ff4cb37c52590, 0xbd5c161714cdebd5
	.quad	0xc08ff4d07fab7a48, 0xbd333e8eda1a8e79
	.quad	0xc08ff4d5c5285928, 0x3d53aba20381d59f
	.quad	0xc08ff4db083df530, 0xbd45e9b07af4e77c
	.quad	0xc08ff4e048ee7e70, 0xbd533cfdb78a8c41
	.quad	0xc08ff4e5873c21f0, 0xbd5d9b87f4d283f2
	.quad	0xc08ff4eac32909c8, 0xbd53a677deee97fa
	.quad	0xc08ff4effcb75d18, 0xbd5afd9f5dedc208
	.quad	0xc08ff4f533e94020, 0x3ce9dd794d20ab77
	.quad	0xc08ff4fa68c0d428, 0xbd5eeae84ba1cbf1
	.quad	0xc08ff4ff9b4037b0, 0xbd4f4451587282c8
	.quad	0xc08ff504cb698648, 0xbd4a1fa15087e717
	.quad	0xc08ff509f93ed8b0, 0xbd5f2f0042b9331a
	.quad	0xc08ff50f24c244e0, 0xbd2c2389f8e86341
	.quad	0xc08ff5144df5ddf0, 0xbd556fcb7b48f200
	.quad	0xc08ff51974dbb448, 0x3d43ba060aa69038
	.quad	0xc08ff51e9975d578, 0x3d477ef38ca20229
	.quad	0xc08ff523bbc64c60, 0x3d49bcaf1aa4168a
	.quad	0xc08ff528dbcf2120, 0xbd51c5609b60687e
	.quad	0xc08ff52df9925930, 0xbd51691708d22ce7
	.quad	0xc08ff5331511f750, 0x3d30d05c98ecb3d1
	.quad	0xc08ff5382e4ffb90, 0xbd423adb056dd244
	.quad	0xc08ff53d454e6368, 0xbd3663607042da50
	.quad	0xc08ff5425a0f29a8, 0x3d42655d3c6187a6
	.quad	0xc08ff5476c944680, 0xbd028c958ae09d20
	.quad	0xc08ff54c7cdfaf90, 0xbd436eaf17756653
	.quad	0xc08ff5518af357e8, 0x3d5fbbbee66f8d24
	.quad	0xc08ff55696d12ff0, 0xbd5d93b389497880
	.quad	0xc08ff55ba07b25b0, 0xbd43ff8ff777f337
	.quad	0xc08ff560a7f32488, 0xbcf3568803ec82a4
	.quad	0xc08ff565ad3b1560, 0xbd50c83eba5cc7ea
	.quad	0xc08ff56ab054deb0, 0x3d5becc2411500b7
	.quad	0xc08ff56fb1426458, 0xbd5dac964ffa8b83
	.quad	0xc08ff574b00587f0, 0x3d1d82f6cc82e69f
	.quad	0xc08ff579aca02878, 0xbd34767c0d40542c
	.quad	0xc08ff57ea7142298, 0xbd52d28e996ed2ce
	.quad	0xc08ff5839f635090, 0xbd432a85d337086d
	.quad	0xc08ff588958f8a38, 0x3d512b06ec20c7fd
	.quad	0xc08ff58d899aa500, 0xbd47e2147555e10b
	.quad	0xc08ff5927b867410, 0xbd4d84480a1b301d
	.quad	0xc08ff5976b54c830, 0x3d5622146f3a51bd
	.quad	0xc08ff59c59076fc8, 0x3d46d485c5f9c392
	.quad	0xc08ff5a144a03700, 0xbd4562714549f4fd
	.quad	0xc08ff5a62e20e7b8, 0x3d541ab67e365a63
	.quad	0xc08ff5ab158b4970, 0xbd5b0855668b2369
	.quad	0xc08ff5affae12188, 0x3d27de1bc2ed4dd8
	.quad	0xc08ff5b4de243300, 0x3d40f2592d5ed454
	.quad	0xc08ff5b9bf563ea8, 0xbd4ee2f8ba7b3e9e
	.quad	0xc08ff5be9e790320, 0xbd3c2214335c2164
	.quad	0xc08ff5c37b8e3cc8, 0x3d30745623ab1fd9
	.quad	0xc08ff5c85697a5d0, 0xbd326c8fb0ffde38
	.quad	0xc08ff5cd2f96f640, 0xbd4c83277493b0bc
	.quad	0xc08ff5d2068de3f8, 0x3d39bb1655e6e5ba
	.quad	0xc08ff5d6db7e22a8, 0x3d403170b47a5559
	.quad	0xc08ff5dbae6963e8, 0x3d5801ddf1edc325
	.quad	0xc08ff5e07f515728, 0x3d4b2704c46fe064
	.quad	0xc08ff5e54e37a9c8, 0x3d5a16e99ed6cd83
	.quad	0xc08ff5ea1b1e0700, 0xbd5353a3ac18c62f
	.quad	0xc08ff5eee6061810, 0x3d567c69c189f21a
	.quad	0xc08ff5f3aef18400, 0xbd50dd3220e0b0f2
	.quad	0xc08ff5f875e1eff0, 0xbd3ab64d80638db2
	.quad	0xc08ff5fd3ad8fee0, 0x3d3ec753439035aa
	.quad	0xc08ff601fdd851c8, 0xbd5e10415f5f5e74
	.quad	0xc08ff606bee187b0, 0xbd55f1048b113fae
	.quad	0xc08ff60b7df63d90, 0x3d1e94e4107406c8
	.quad	0xc08ff6103b180e60, 0xbd4e2eb5d0c36eb5
	.quad	0xc08ff614f6489330, 0x3d43ec5c714f709a
	.quad	0xc08ff619af896308, 0x3d519ec459b62a08
	.quad	0xc08ff61e66dc1300, 0xbd5b93d09dd6161d
	.quad	0xc08ff6231c423658, 0x3d5d72b849dd56be
	.quad	0xc08ff627cfbd5e38, 0xbd276b7e32659173
	.quad	0xc08ff62c814f1a08, 0x3d4fd918f2e7a6b9
	.quad	0xc08ff63130f8f730, 0x3d5609ba1dcc4c97
	.quad	0xc08ff635debc8138, 0xbd55cab233dbd84c
	.quad	0xc08ff63a8a9b41d8, 0xbd56778ab7aaabc9
	.quad	0xc08ff63f3496c0e0, 0x3d5b2791da49c370
	.quad	0xc08ff643dcb08438, 0x3d583063ef145f9c
	.quad	0xc08ff64882ea1000, 0xbd484e9cab375fb6
	.quad	0xc08ff64d2744e688, 0xbd5c430c95c374aa
	.quad	0xc08ff651c9c28848, 0xbd57a16d78490bb3
	.quad	0xc08ff6566a6473e8, 0xbd445d70374ea9ec
	.quad	0xc08ff65b092c2648, 0x3d5c9729142b9d4b
	.quad	0xc08ff65fa61b1a70, 0xbd4aaa179d032405
	.quad	0xc08ff6644132c9c0, 0xbd2a3ea300d173de
	.quad	0xc08ff668da74abc0, 0x3d57809438efb010
	.quad	0xc08ff66d71e23630, 0xbd5e9156720951d6
	.quad	0xc08ff672077cdd30, 0xbd5bab62e8462035
	.quad	0xc08ff6769b461310, 0xbd05113545431443
	.quad	0xc08ff67b2d3f4868, 0x3d5105eb0607e59b
	.quad	0xc08ff67fbd69ec18, 0xbd5e657842b37dc0
	.quad	0xc08ff6844bc76b68, 0x3d4ad1849705bc4c
	.quad	0xc08ff688d85931c8, 0xbd508b6f92b6e0d6
	.quad	0xc08ff68d6320a920, 0x3d48683cceb5fdfc
	.quad	0xc08ff691ec1f3990, 0xbd2c25ee290acbf5
	.quad	0xc08ff696735649a8, 0x3d58904932cd46d0
	.quad	0xc08ff69af8c73e38, 0xbd5c964167f0bfeb
	.quad	0xc08ff69f7c737a90, 0xbd43d66937fa06a9
	.quad	0xc08ff6a3fe5c6040, 0xbd54bc302ffa76fb
	.quad	0xc08ff6a87e834f50, 0x3d4609b1487f87a3
	.quad	0xc08ff6acfce9a618, 0xbd42c0d9af0400b1
	.quad	0xc08ff6b17990c170, 0x3d549a63973d262d
	.quad	0xc08ff6b5f479fc80, 0xbd28cde894aa0641
	.quad	0xc08ff6ba6da6b0f0, 0xbd5acef617609a34
	.quad	0xc08ff6bee51836d8, 0x3d4abb9ff3cf80b8
	.quad	0xc08ff6c35acfe4a8, 0xbd53dcfa1b7697f3
	.quad	0xc08ff6c7cecf0f68, 0x3d5bcdf4aea18a55
	.quad	0xc08ff6cc41170a70, 0x3d3cad29d4324038
	.quad	0xc08ff6d0b1a927b0, 0x3d56945f9cc2a565
	.quad	0xc08ff6d52086b780, 0x3d5d20dfc1c668a7
	.quad	0xc08ff6d98db108b8, 0x3d37f20a9bcbbe04
	.quad	0xc08ff6ddf92968b8, 0x3d1e0824a6e3a4d2
	.quad	0xc08ff6e262f12358, 0xbd469f07bf6322c7
	.quad	0xc08ff6e6cb0982f8, 0xbd5cc593afdbfaef
	.quad	0xc08ff6eb3173d080, 0xbd5ee68d555d7122
	.quad	0xc08ff6ef96315360, 0xbd144ee1d6a39124
	.quad	0xc08ff6f3f9435188, 0xbd40f2cb308bcd25
	.quad	0xc08ff6f85aab0f80, 0xbd5fd98ced08a73c
	.quad	0xc08ff6fcba69d068, 0x3d54f2f2a1ea8606
	.quad	0xc08ff7011880d5d0, 0xbd57818234572db7
	.quad	0xc08ff70574f16008, 0x3d52429e823a9a83
	.quad	0xc08ff709cfbcadd0, 0x3d5d6dc9bb81476c
	.quad	0xc08ff70e28e3fc90, 0x3d57d189e116bcb2
	.quad	0xc08ff71280688848, 0x3d0e18992809fd6d
	.quad	0xc08ff716d64b8b98, 0xbd3b48ac92b8549a
	.quad	0xc08ff71b2a8e3fb8, 0xbd4dcfa48040893b
	.quad	0xc08ff71f7d31dc88, 0x3d58d945b8e53ef1
	.quad	0xc08ff723ce379878, 0x3d4f80faef3e15ee
	.quad	0xc08ff7281da0a8b0, 0x3d53edc0fd40d18f
	.quad	0xc08ff72c6b6e40f0, 0xbd4bcac66e0be72f
	.quad	0xc08ff730b7a193b0, 0xbd44fcf96e2ec967
	.quad	0xc08ff735023bd208, 0x3d57e2ff34b08d86
	.quad	0xc08ff7394b3e2bb0, 0xbd4caedfb10b98dd
	.quad	0xc08ff73d92a9cf28, 0xbd55db1083e5ac6a
	.quad	0xc08ff741d87fe990, 0xbd580e83e6d54ed6
	.quad	0xc08ff7461cc1a6c0, 0x3d1688c83e1b0cba
	.quad	0xc08ff74a5f703138, 0xbd52c398c872b701
	.quad	0xc08ff74ea08cb240, 0xbd49aabc3683b259
	.quad	0xc08ff752e01851d0, 0x3d5ccba8de72495b
	.quad	0xc08ff7571e143688, 0xbd5981cf630f5793
	.quad	0xc08ff75b5a8185e8, 0xbd4f235844e01ebd
	.quad	0xc08ff75f95616410, 0xbd5047de7ba8ec62
	.quad	0xc08ff763ceb4f3f0, 0x3d5fa55e004d6562
	.quad	0xc08ff768067d5720, 0xbd49f386e521a80e
	.quad	0xc08ff76c3cbbae20, 0x3d3693551e62fe83
	.quad	0xc08ff77071711818, 0x3d4ba63b30b6c42c
	.quad	0xc08ff774a49eb300, 0x3d4c26523d32f573
	.quad	0xc08ff778d6459b98, 0x3d3b65e70806143a
	.quad	0xc08ff77d0666ed68, 0xbd5796d9c9f2c2cb
	.quad	0xc08ff7813503c2d0, 0x3d33267b004b912b
	.quad	0xc08ff785621d34e8, 0x3d1d5d8a23e33341
	.quad	0xc08ff7898db45ba8, 0x3d46c95233e60f40
	.quad	0xc08ff78db7ca4dd0, 0x3d362865acc8f43f
	.quad	0xc08ff791e06020f8, 0xbd10e8203e161511
	.quad	0xc08ff7960776e988, 0xbd5cafe4f4467eaa
	.quad	0xc08ff79a2d0fbac8, 0xbd520fddea9ea0cd
	.quad	0xc08ff79e512ba6d0, 0x3d5c53d3778dae46
	.quad	0xc08ff7a273cbbe80, 0xbd5f0f6f88490367
	.quad	0xc08ff7a694f111c0, 0x3d5601aa3f55ec11
	.quad	0xc08ff7aab49caf20, 0xbd4f1a8a2328a4c4
	.quad	0xc08ff7aed2cfa438, 0xbd4a3d5341c07d0e
	.quad	0xc08ff7b2ef8afd68, 0xbd5f4a1f4c525f31
	.quad	0xc08ff7b70acfc600, 0xbd4d594d77b3d775
	.quad	0xc08ff7bb249f0828, 0x3d2aef47e37e953b
	.quad	0xc08ff7bf3cf9ccf0, 0x3d501803b47dfba2
	.quad	0xc08ff7c353e11c50, 0x3d5ed5ec84e5745e
	.quad	0xc08ff7c76955fd20, 0xbd3de249bc9e7f96
	.quad	0xc08ff7cb7d597538, 0x3d5b5794341d1fdf
	.quad	0xc08ff7cf8fec8938, 0xbd519dbd08276359
	.quad	0xc08ff7d3a1103cd0, 0xbd450129b8038848
	.quad	0xc08ff7d7b0c59288, 0x3d348f00d3bb30fd
	.quad	0xc08ff7dbbf0d8bd8, 0xbd43529025720d8a
	.quad	0xc08ff7dfcbe92938, 0x3d5abdaa2b1955d7
	.quad	0xc08ff7e3d75969f8, 0xbd4e8837d4588a98
	.quad	0xc08ff7e7e15f4c80, 0x3d57a782a6df5a1f
	.quad	0xc08ff7ebe9fbce08, 0x3d304ba3eaa96bf1
	.quad	0xc08ff7eff12fead8, 0xbd47aab17b868a60
	.quad	0xc08ff7f3f6fc9e28, 0xbd5bd858693ba90a
	.quad	0xc08ff7f7fb62e230, 0x3d26abb2c547789a
	.quad	0xc08ff7fbfe63b010, 0xbd59d383d543b3f5
	.quad	0xc08ff80000000000, 0x8000000000000000
	/* Log_LA_table */
	.align	16
	.quad	0x0000000000000000
	.quad	0xbf670f83ff0a7565
	.quad	0xbf7709c46d7aac77
	.quad	0xbf8143068125dd0e
	.quad	0xbf86fe50b6ef0851
	.quad	0xbf8cb6c3abd14559
	.quad	0xbf91363117a97b0c
	.quad	0xbf940f9786685d29
	.quad	0xbf96e79685c2d22a
	.quad	0xbf99be2f7749acc2
	.quad	0xbf9c9363ba850f86
	.quad	0xbf9f6734acf8695a
	.quad	0xbfa11cd1d5133413
	.quad	0xbfa2855905ca70f6
	.quad	0xbfa3ed3094685a26
	.quad	0xbfa554592bb8cd58
	.quad	0xbfa6bad3758efd87
	.quad	0xbfa820a01ac754cb
	.quad	0xbfa985bfc3495194
	.quad	0xbfaaea3316095f72
	.quad	0xbfac4dfab90aab5f
	.quad	0xbfadb1175160f3b0
	.quad	0xbfaf1389833253a0
	.quad	0xbfb03aa8f8dc854c
	.quad	0xbfb0eb389fa29f9b
	.quad	0xbfb19b74069f5f0a
	.quad	0xbfb24b5b7e135a3d
	.quad	0xbfb2faef55ccb372
	.quad	0xbfb3aa2fdd27f1c3
	.quad	0xbfb4591d6310d85a
	.quad	0xbfb507b836033bb7
	.quad	0xbfb5b600a40bd4f3
	.quad	0xbfb663f6fac91316
	.quad	0xbfb7119b876bea86
	.quad	0xbfb7beee96b8a281
	.quad	0xbfb86bf07507a0c7
	.quad	0xbfb918a16e46335b
	.quad	0xbfb9c501cdf75872
	.quad	0xbfba7111df348494
	.quad	0xbfbb1cd1ecae66e7
	.quad	0xbfbbc84240adabba
	.quad	0xbfbc73632513bd4f
	.quad	0xbfbd1e34e35b82da
	.quad	0xbfbdc8b7c49a1ddb
	.quad	0xbfbe72ec117fa5b2
	.quad	0xbfbf1cd21257e18c
	.quad	0xbfbfc66a0f0b00a5
	.quad	0xbfc037da278f2870
	.quad	0xbfc08c588cda79e4
	.quad	0xbfc0e0b05ac848ed
	.quad	0xbfc134e1b489062e
	.quad	0xbfc188ecbd1d16be
	.quad	0xbfc1dcd197552b7b
	.quad	0xbfc2309065d29791
	.quad	0xbfc284294b07a640
	.quad	0xbfc2d79c6937efdd
	.quad	0xbfc32ae9e278ae1a
	.quad	0xbfc37e11d8b10f89
	.quad	0xbfc3d1146d9a8a64
	.quad	0xbfc423f1c2c12ea2
	.quad	0xbfc476a9f983f74d
	.quad	0xbfc4c93d33151b24
	.quad	0xbfc51bab907a5c8a
	.quad	0xbfc56df5328d58c5
	.quad	0xbfc5c01a39fbd688
	.quad	0xbfc6121ac74813cf
	.quad	0xbfc663f6fac91316
	.quad	0xbfc6b5aef4aae7dc
	.quad	0xbfc70742d4ef027f
	.quad	0xbfc758b2bb6c7b76
	.quad	0xbfc7a9fec7d05ddf
	.quad	0xbfc7fb27199df16d
	.quad	0xbfc84c2bd02f03b3
	.quad	0xbfc89d0d0ab430cd
	.quad	0xbfc8edcae8352b6c
	.quad	0xbfc93e6587910444
	.quad	0xbfc98edd077e70df
	.quad	0xbfc9df31868c11d5
	.quad	0xbfca2f632320b86b
	.quad	0xbfca7f71fb7bab9d
	.quad	0xbfcacf5e2db4ec94
	.quad	0xbfcb1f27d7bd7a80
	.quad	0xbfcb6ecf175f95e9
	.quad	0xbfcbbe540a3f036f
	.quad	0xbfcc0db6cdd94dee
	.quad	0xbfcc5cf77f860826
	.quad	0xbfccac163c770dc9
	.quad	0xbfccfb1321b8c400
	.quad	0xbfcd49ee4c325970
	.quad	0xbfcd98a7d8a605a7
	.quad	0xbfcde73fe3b1480f
	.quad	0xbfce35b689cd2655
	.quad	0xbfce840be74e6a4d
	.quad	0xbfced2401865df52
	.quad	0xbfcf205339208f27
	.quad	0xbfcf6e456567fe55
	.quad	0xbfcfbc16b902680a
	.quad	0xbfd004e3a7c97cbd
	.quad	0xbfd02baba24d0664
	.quad	0xbfd0526359bab1b3
	.quad	0xbfd0790adbb03009
	.quad	0xbfd09fa235ba2020
	.quad	0xbfd0c62975542a8f
	.quad	0xbfd0eca0a7e91e0b
	.quad	0xbfd11307dad30b76
	.quad	0xbfd1395f1b5b61a6
	.quad	0xbfd15fa676bb08ff
	.quad	0xbfd185ddfa1a7ed0
	.quad	0xbfd1ac05b291f070
	.quad	0xbfd1d21dad295632
	.quad	0xbfd1f825f6d88e13
	.quad	0xbfd21e1e9c877639
	.quad	0xbfd24407ab0e073a
	.quad	0xbfd269e12f346e2c
	.quad	0xbfd28fab35b32683
	.quad	0xbfd2b565cb3313b6
	.quad	0xbfd2db10fc4d9aaf
	.quad	0xbfd300acd58cbb10
	.quad	0xbfd32639636b2836
	.quad	0xbfd34bb6b2546218
	.quad	0xbfd37124cea4cded
	.quad	0xbfd39683c4a9ce9a
	.quad	0xbfd3bbd3a0a1dcfb
	.quad	0xbfd3e1146ebc9ff2
	.quad	0xbfd406463b1b0449
	.quad	0xbfd42b6911cf5465
	.quad	0xbfd4507cfedd4fc4
	.quad	0xbfd475820e3a4251
	.quad	0xbfd49a784bcd1b8b
	.quad	0xbfd4bf5fc36e8577
	.quad	0xbfd4e43880e8fb6a
	.quad	0xbfd509028ff8e0a2
	.quad	0xbfd52dbdfc4c96b3
	.quad	0xbfd5526ad18493ce
	.quad	0xbfd577091b3378cb
	.quad	0xbfd59b98e4de271c
	.quad	0xbfd5c01a39fbd688
	.quad	0xbfd5e48d25f62ab9
	.quad	0xbfd608f1b42948ae
	.quad	0xbfd62d47efe3ebee
	.quad	0xbfd6518fe4677ba7
	.quad	0xbfd675c99ce81f92
	.quad	0xbfd699f5248cd4b8
	.quad	0xbfd6be12866f820d
	.quad	0xbfd6e221cd9d0cde
	.quad	0xbfd7062305156d1d
	.quad	0xbfd72a1637cbc183
	.quad	0xbfd74dfb70a66388
	.quad	0xbfd771d2ba7efb3c
	.quad	0xbfd7959c202292f1
	.quad	0xbfd7b957ac51aac4
	.quad	0xbfd7dd0569c04bff
	.quad	0xbfd800a563161c54
	.quad	0xbfd82437a2ee70f7
	.quad	0xbfd847bc33d8618e
	.quad	0xbfd86b332056db01
	.quad	0xbfd88e9c72e0b226
	.quad	0xbfd8b1f835e0b642
	.quad	0xbfd8d54673b5c372
	.quad	0xbfd8f88736b2d4e8
	.quad	0xbfd91bba891f1709
	.quad	0xbfd93ee07535f967
	.quad	0xbfd961f90527409c
	.quad	0xbfd98504431717fc
	.quad	0xbfd9a802391e232f
	.quad	0xbfd9caf2f1498fa4
	.quad	0xbfd9edd6759b25e0
	.quad	0xbfda10acd0095ab4
	.quad	0xbfda33760a7f6051
	.quad	0xbfda56322edd3731
	.quad	0xbfda78e146f7bef4
	.quad	0xbfda9b835c98c70a
	.quad	0xbfdabe18797f1f49
	.quad	0xbfdae0a0a75ea862
	.quad	0xbfdb031befe06434
	.quad	0xbfdb258a5ca28608
	.quad	0xbfdb47ebf73882a1
	.quad	0xbfdb6a40c92b203f
	.quad	0xbfdb8c88dbf8867a
	.quad	0xbfdbaec439144dfd
	.quad	0xbfdbd0f2e9e79031
	.quad	0xbfdbf314f7d0f6ba
	.quad	0xbfdc152a6c24cae6
	.quad	0xbfdc3733502d04f8
	.quad	0xbfdc592fad295b56
	.quad	0xbfdc7b1f8c4f51a4
	.quad	0xbfdc9d02f6ca47b4
	.quad	0xbfdcbed9f5bb886a
	.quad	0xbfdce0a4923a587d
	.quad	0xbfdd0262d554051c
	.quad	0xbfdd2414c80bf27d
	.quad	0xbfdd45ba735baa4f
	.quad	0xbfdd6753e032ea0f
	.quad	0xbfdd88e11777b149
	.quad	0xbfddaa6222064fb9
	.quad	0xbfddcbd708b17359
	.quad	0xbfdded3fd442364c
	.quad	0xbfde0e9c8d782cbd
	.quad	0xbfde2fed3d097298
	.quad	0xbfde5131eba2b931
	.quad	0xbfde726aa1e754d2
	.quad	0xbfde939768714a32
	.quad	0xbfdeb4b847d15bce
	.quad	0xbfded5cd488f1732
	.quad	0xbfdef6d67328e220
	.quad	0xbfdf17d3d01407af
	.quad	0xbfdf38c567bcc541
	.quad	0xbfdf59ab4286576c
	.quad	0xbfdf7a8568cb06cf
	.quad	0xbfdf9b53e2dc34c4
	.quad	0xbfdfbc16b902680a
	.quad	0xbfdfdccdf37d594c
	.quad	0xbfdffd799a83ff9b
	.quad	0x3fdfe1e649bb6335
	.quad	0x3fdfc151b11b3640
	.quad	0x3fdfa0c8937e7d5d
	.quad	0x3fdf804ae8d0cd02
	.quad	0x3fdf5fd8a9063e35
	.quad	0x3fdf3f71cc1b629c
	.quad	0x3fdf1f164a15389a
	.quad	0x3fdefec61b011f85
	.quad	0x3fdede8136f4cbf1
	.quad	0x3fdebe47960e3c08
	.quad	0x3fde9e193073ac06
	.quad	0x3fde7df5fe538ab3
	.quad	0x3fde5dddf7e46e0a
	.quad	0x3fde3dd1156507de
	.quad	0x3fde1dcf4f1c1a9e
	.quad	0x3fddfdd89d586e2b
	.quad	0x3fddddecf870c4c1
	.quad	0x3fddbe0c58c3cff2
	.quad	0x3fdd9e36b6b825b1
	.quad	0x3fdd7e6c0abc3579
	.quad	0x3fdd5eac4d463d7e
	.quad	0x3fdd3ef776d43ff4
	.quad	0x3fdd1f4d7febf868
	.quad	0x3fdcffae611ad12b
	.quad	0x3fdce01a12f5d8d1
	.quad	0x3fdcc0908e19b7bd
	.quad	0x3fdca111cb2aa5c5
	.quad	0x3fdc819dc2d45fe4
	.quad	0x3fdc62346dca1dfe
	.quad	0x3fdc42d5c4c688b4
	.quad	0x3fdc2381c08baf4f
	.quad	0x3fdc043859e2fdb3
	.quad	0x3fdbe4f9899d326e
	.quad	0x3fdbc5c5489254cc
	.quad	0x3fdba69b8fa1ab02
	.quad	0x3fdb877c57b1b070
	.quad	0x3fdb686799b00be3
	.quad	0x3fdb495d4e9185f7
	.quad	0x3fdb2a5d6f51ff83
	.quad	0x3fdb0b67f4f46810
	.quad	0x3fdaec7cd882b46c
	.quad	0x3fdacd9c130dd53f
	.quad	0x3fdaaec59dadadbe
	.quad	0x3fda8ff971810a5e
	.quad	0x3fda713787ad97a5
	.quad	0x3fda527fd95fd8ff
	.quad	0x3fda33d25fcb1fac
	.quad	0x3fda152f142981b4
	.quad	0x3fd9f695efbbd0ef
	.quad	0x3fd9d806ebc9921c
	.quad	0x3fd9b98201a0f405
	.quad	0x3fd99b072a96c6b2
	.quad	0x3fd97c96600672ad
	.quad	0x3fd95e2f9b51f04e
	.quad	0x3fd93fd2d5e1bf1d
	.quad	0x3fd921800924dd3b
	.quad	0x3fd903372e90bee4
	.quad	0x3fd8e4f83fa145ee
	.quad	0x3fd8c6c335d8b966
	.quad	0x3fd8a8980abfbd32
	.quad	0x3fd88a76b7e549c6
	.quad	0x3fd86c5f36dea3dc
	.quad	0x3fd84e5181475449
	.quad	0x3fd8304d90c11fd3
	.quad	0x3fd812535ef3ff19
	.quad	0x3fd7f462e58e1688
	.quad	0x3fd7d67c1e43ae5c
	.quad	0x3fd7b89f02cf2aad
	.quad	0x3fd79acb8cf10390
	.quad	0x3fd77d01b66fbd37
	.quad	0x3fd75f417917e02c
	.quad	0x3fd7418acebbf18f
	.quad	0x3fd723ddb1346b65
	.quad	0x3fd7063a1a5fb4f2
	.quad	0x3fd6e8a004221b1f
	.quad	0x3fd6cb0f6865c8ea
	.quad	0x3fd6ad88411abfea
	.quad	0x3fd6900a8836d0d5
	.quad	0x3fd6729637b59418
	.quad	0x3fd6552b49986277
	.quad	0x3fd637c9b7e64dc2
	.quad	0x3fd61a717cac1983
	.quad	0x3fd5fd2291fc33cf
	.quad	0x3fd5dfdcf1eeae0e
	.quad	0x3fd5c2a096a135dc
	.quad	0x3fd5a56d7a370ded
	.quad	0x3fd5884396d90702
	.quad	0x3fd56b22e6b578e5
	.quad	0x3fd54e0b64003b70
	.quad	0x3fd530fd08f29fa7
	.quad	0x3fd513f7cfcb68ce
	.quad	0x3fd4f6fbb2cec598
	.quad	0x3fd4da08ac46495a
	.quad	0x3fd4bd1eb680e548
	.quad	0x3fd4a03dcbd2e1be
	.quad	0x3fd48365e695d797
	.quad	0x3fd466970128a987
	.quad	0x3fd449d115ef7d87
	.quad	0x3fd42d141f53b646
	.quad	0x3fd4106017c3eca3
	.quad	0x3fd3f3b4f9b3e939
	.quad	0x3fd3d712bf9c9def
	.quad	0x3fd3ba7963fc1f8f
	.quad	0x3fd39de8e1559f6f
	.quad	0x3fd3816132316520
	.quad	0x3fd364e2511cc821
	.quad	0x3fd3486c38aa29a8
	.quad	0x3fd32bfee370ee68
	.quad	0x3fd30f9a4c0d786d
	.quad	0x3fd2f33e6d2120f2
	.quad	0x3fd2d6eb4152324f
	.quad	0x3fd2baa0c34be1ec
	.quad	0x3fd29e5eedbe4a35
	.quad	0x3fd28225bb5e64a4
	.quad	0x3fd265f526e603cb
	.quad	0x3fd249cd2b13cd6c
	.quad	0x3fd22dadc2ab3497
	.quad	0x3fd21196e87473d1
	.quad	0x3fd1f588973c8747
	.quad	0x3fd1d982c9d52708
	.quad	0x3fd1bd857b14c146
	.quad	0x3fd1a190a5d674a0
	.quad	0x3fd185a444fa0a7b
	.quad	0x3fd169c05363f158
	.quad	0x3fd14de4cbfd373e
	.quad	0x3fd13211a9b38424
	.quad	0x3fd11646e7791469
	.quad	0x3fd0fa848044b351
	.quad	0x3fd0deca6f11b58b
	.quad	0x3fd0c318aedff3c0
	.quad	0x3fd0a76f3ab3c52c
	.quad	0x3fd08bce0d95fa38
	.quad	0x3fd070352293d724
	.quad	0x3fd054a474bf0eb7
	.quad	0x3fd0391bff2dbcf3
	.quad	0x3fd01d9bbcfa61d4
	.quad	0x3fd00223a943dc19
	.quad	0x3fcfcd677e5ac81d
	.quad	0x3fcf9697f3bd0ccf
	.quad	0x3fcf5fd8a9063e35
	.quad	0x3fcf29299496a889
	.quad	0x3fcef28aacd72231
	.quad	0x3fcebbfbe83901a6
	.quad	0x3fce857d3d361368
	.quad	0x3fce4f0ea2509008
	.quad	0x3fce18b00e13123d
	.quad	0x3fcde26177108d03
	.quad	0x3fcdac22d3e441d3
	.quad	0x3fcd75f41b31b6dd
	.quad	0x3fcd3fd543a4ad5c
	.quad	0x3fcd09c643f117f0
	.quad	0x3fccd3c712d31109
	.quad	0x3fcc9dd7a70ed160
	.quad	0x3fcc67f7f770a67e
	.quad	0x3fcc3227facce950
	.quad	0x3fcbfc67a7fff4cc
	.quad	0x3fcbc6b6f5ee1c9b
	.quad	0x3fcb9115db83a3dd
	.quad	0x3fcb5b844fb4b3ef
	.quad	0x3fcb2602497d5346
	.quad	0x3fcaf08fbfe15c51
	.quad	0x3fcabb2ca9ec7472
	.quad	0x3fca85d8feb202f7
	.quad	0x3fca5094b54d2828
	.quad	0x3fca1b5fc4e0b465
	.quad	0x3fc9e63a24971f46
	.quad	0x3fc9b123cba27ed3
	.quad	0x3fc97c1cb13c7ec1
	.quad	0x3fc94724cca657be
	.quad	0x3fc9123c1528c6ce
	.quad	0x3fc8dd62821404a9
	.quad	0x3fc8a8980abfbd32
	.quad	0x3fc873dca68b06f4
	.quad	0x3fc83f304cdc5aa7
	.quad	0x3fc80a92f5218acc
	.quad	0x3fc7d60496cfbb4c
	.quad	0x3fc7a18529635926
	.quad	0x3fc76d14a4601225
	.quad	0x3fc738b2ff50ccad
	.quad	0x3fc7046031c79f85
	.quad	0x3fc6d01c335dc9b5
	.quad	0x3fc69be6fbb3aa6f
	.quad	0x3fc667c08270b905
	.quad	0x3fc633a8bf437ce1
	.quad	0x3fc5ff9fa9e18595
	.quad	0x3fc5cba53a0762ed
	.quad	0x3fc597b967789d12
	.quad	0x3fc563dc29ffacb2
	.quad	0x3fc5300d796df33a
	.quad	0x3fc4fc4d4d9bb313
	.quad	0x3fc4c89b9e6807f5
	.quad	0x3fc494f863b8df35
	.quad	0x3fc46163957af02e
	.quad	0x3fc42ddd2ba1b4a9
	.quad	0x3fc3fa651e276158
	.quad	0x3fc3c6fb650cde51
	.quad	0x3fc3939ff859bf9f
	.quad	0x3fc36052d01c3dd7
	.quad	0x3fc32d13e4692eb7
	.quad	0x3fc2f9e32d5bfdd1
	.quad	0x3fc2c6c0a316a540
	.quad	0x3fc293ac3dc1a668
	.quad	0x3fc260a5f58c02bd
	.quad	0x3fc22dadc2ab3497
	.quad	0x3fc1fac39d5b280c
	.quad	0x3fc1c7e77dde33dc
	.quad	0x3fc195195c7d125b
	.quad	0x3fc162593186da70
	.quad	0x3fc12fa6f550f896
	.quad	0x3fc0fd02a03727ea
	.quad	0x3fc0ca6c2a9b6b41
	.quad	0x3fc097e38ce60649
	.quad	0x3fc06568bf8576b3
	.quad	0x3fc032fbbaee6d65
	.quad	0x3fc0009c779bc7b5
	.quad	0x3fbf9c95dc1d1165
	.quad	0x3fbf380e2d9ba4df
	.quad	0x3fbed3a1d4cdbebb
	.quad	0x3fbe6f50c2d9f754
	.quad	0x3fbe0b1ae8f2fd56
	.quad	0x3fbda700385788a2
	.quad	0x3fbd4300a2524d41
	.quad	0x3fbcdf1c1839ee74
	.quad	0x3fbc7b528b70f1c5
	.quad	0x3fbc17a3ed65b23c
	.quad	0x3fbbb4102f925394
	.quad	0x3fbb5097437cb58e
	.quad	0x3fbaed391ab6674e
	.quad	0x3fba89f5a6dc9acc
	.quad	0x3fba26ccd9981853
	.quad	0x3fb9c3bea49d3214
	.quad	0x3fb960caf9abb7ca
	.quad	0x3fb8fdf1ca8eea6a
	.quad	0x3fb89b33091d6fe8
	.quad	0x3fb8388ea739470a
	.quad	0x3fb7d60496cfbb4c
	.quad	0x3fb77394c9d958d5
	.quad	0x3fb7113f3259e07a
	.quad	0x3fb6af03c2603bd0
	.quad	0x3fb64ce26c067157
	.quad	0x3fb5eadb217198a3
	.quad	0x3fb588edd4d1ceaa
	.quad	0x3fb5271a78622a0f
	.quad	0x3fb4c560fe68af88
	.quad	0x3fb463c15936464e
	.quad	0x3fb4023b7b26ac9e
	.quad	0x3fb3a0cf56a06c4b
	.quad	0x3fb33f7cde14cf5a
	.quad	0x3fb2de4403ffd4b3
	.quad	0x3fb27d24bae824db
	.quad	0x3fb21c1ef55f06c2
	.quad	0x3fb1bb32a600549d
	.quad	0x3fb15a5fbf7270ce
	.quad	0x3fb0f9a634663add
	.quad	0x3fb09905f797047c
	.quad	0x3fb0387efbca869e
	.quad	0x3fafb02267a1ad2d
	.quad	0x3faeef792508b69d
	.quad	0x3fae2f02159384fe
	.quad	0x3fad6ebd1f1febfe
	.quad	0x3facaeaa27a02241
	.quad	0x3fabeec9151aac2e
	.quad	0x3fab2f19cdaa46dc
	.quad	0x3faa6f9c377dd31b
	.quad	0x3fa9b05038d84095
	.quad	0x3fa8f135b8107912
	.quad	0x3fa8324c9b914bc7
	.quad	0x3fa77394c9d958d5
	.quad	0x3fa6b50e297afcce
	.quad	0x3fa5f6b8a11c3c61
	.quad	0x3fa538941776b01e
	.quad	0x3fa47aa07357704f
	.quad	0x3fa3bcdd9b9f00f3
	.quad	0x3fa2ff4b77413dcb
	.quad	0x3fa241e9ed454683
	.quad	0x3fa184b8e4c56af8
	.quad	0x3fa0c7b844ef1795
	.quad	0x3fa00ae7f502c1c4
	.quad	0x3f9e9c8fb8a7a900
	.quad	0x3f9d23afc49139f9
	.quad	0x3f9bab2fdcb46ec7
	.quad	0x3f9a330fd028f75f
	.quad	0x3f98bb4f6e2bd536
	.quad	0x3f9743ee861f3556
	.quad	0x3f95ccece78a4a9e
	.quad	0x3f94564a62192834
	.quad	0x3f92e006c59c9c29
	.quad	0x3f916a21e20a0a45
	.quad	0x3f8fe9370ef68e1b
	.quad	0x3f8cfee70c5ce5dc
	.quad	0x3f8a15535d0bab34
	.quad	0x3f872c7ba20f7327
	.quad	0x3f84445f7cbc8fd2
	.quad	0x3f815cfe8eaec830
	.quad	0x3f7cecb0f3922091
	.quad	0x3f7720d9c06a835f
	.quad	0x3f715676c8c7a8c1
	.quad	0x3f671b0ea42e5fda
	.quad	0x3f57182a894b69c6
	.quad	0x8000000000000000
	/* poly_coeff[5] */
	.align	16
	.quad	0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2 /* coeff5 */
	.quad	0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B /* coeff4 */
	.quad	0x3fdEC709DC39E926, 0x3fdEC709DC39E926 /* coeff3 */
	.quad	0xbfe71547652B7CF8, 0xbfe71547652B7CF8 /* coeff2 */
	.quad	0x3ff71547652B82FE, 0x3ff71547652B82FE /* coeff1 */
	/* ExpMask */
	.align	16
	.quad	0x000fffffffffffff, 0x000fffffffffffff
	/* Two10 */
	.align	16
	.quad	0x3f50000000000000, 0x3f50000000000000
	/* MinNorm */
	.align	16
	.quad	0x0010000000000000, 0x0010000000000000
	/* MaxNorm */
	.align	16
	.quad	0x7fefffffffffffff, 0x7fefffffffffffff
	/* HalfMask */
	.align	16
	.quad	0xfffffffffc000000, 0xfffffffffc000000
	/* One */
	.align	16
	.quad	0x3ff0000000000000, 0x3ff0000000000000
	/* Threshold */
	.align	16
	.quad	0x4086a00000000000, 0x4086a00000000000
	/* Bias */
	.align	16
	.quad	0x408ff80000000000, 0x408ff80000000000
	/* Bias1 */
	.align	16
	.quad	0x408ff00000000000, 0x408ff00000000000
	.align	16
	.type	__svml_dlog2_data_internal, @object
	.size	__svml_dlog2_data_internal, .-__svml_dlog2_data_internal
	.space	80, 0x00
	.align	16

.FLT_11:
	.long	0x00000000, 0x43380000, 0x00000000, 0x43380000
	.type	.FLT_11, @object
	.size	.FLT_11, 16
